【Web前端】CSS基本语法规范和引入方式常见选择器用法常见元素属性

一、基本语法规范

选择器 + {一条/N条声明} 选择器决定针对谁修改 (找谁)

声明决定修改什么.。(干什么)

声明的属性是键值对.。使用 : 区分键值对, 使用 : 区分键和值。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        p/*p就是选择器*/{
            color: red;/*color和font-size都是声明*/
            font-size: 30px;
        }
    </style>
</head>
<body>
    <p>hello world</p>
</body>
</html>

二、引入方式

2.1、内部样式表

        写在 style 标签中. 嵌入到 html 内部。理论上style放在哪里都可以,但一般放在head标签中。正如上面这个例子所示。这样做可以使页面结构和样式分离,但是分离地不够彻底,尤其是当style内部内容过多时。

2.2、行内样式表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        h1/*p就是选择器*/{
            color: red;/*color和font-size都是声明*/
            font-size: 30px;
        }
    </style>
</head>
<body>

    <h1 style="color: blue; font-size: 30px;">hello world</h1>
</body>
</html>

        通过 style 属性, 来指定某个标签的样式。行内样式表的优先级比内部样式表的优先级高,当行内样式表和内部样式表冲突时,遵循行内样式表的样式

2.3外部样式表(好用)

        将页面结构和样式完全分离,需要css文件时在通过link引入。以下代码请忽略h1标签。

<!-- demo01.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        h1/*p就是选择器*/{
            color: red;/*color和font-size都是声明*/
            font-size: 30px;
        }
    </style>
    <link rel="stylesheet" href="./demo02.css">
</head>
<body>
    <p>hello world</p>

    <h1 style="color: blue; font-size: 30px;">hello world</h1>
</body>
</html>
/* demo02.css */
p{
    color: red;
    font-size: 30px;
}

 

三、常用选择器的种类

3.1、类选择器(好用)

        差异化表示不同的标签。标签名内可以填写多个标签名(实现修饰效果的叠加),中间用空格隔开,可以让多个标签的都使用同一个标签修饰css文件内标签名以.开头类选择器同样可以使页面结构和样式完全分离。

<!-- demo2.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <link rel="stylesheet" href="./demo2.css">
</head>
<body>
    <p class="study size">学习</p>
    <p class="streetworkout">健身</p>
    <p class="game size">打游戏</p>
</body>
</html>
/* demo2.css */
.game{
    color: red;
}

.study{
    color: blue;
}

.streetworkout{
    color: green;
}

.size{
    font-size: 80px;
}

3.2、id选择器

id 选择器的值和 html 中某个元素的 id 值相同。

html 的元素 id 不必带 #。

id 是唯一的, 不能被多个标签使用 (是和 类选择器 最大的区别)。

一个标签也不能使用多个标签,否则可能出现不可知情况。

//demo3.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./demo3.css">
</head>
<body>
    <p id="fe">前端开发</p>
    <p id="de">后端开发</p>
</body>
</html>
//demo3.css
#fe{
    color: blue;
}

#de{

    color: aqua;
}

3.3、通配符选择器

使用 * 的定义, 选取所有的标签。可以用来设置背景色等属性。html样例代码同id选择器。

#fe{
    color: blue;
}

#de{

    color: aqua;
}
//设置背景色为blueviole

*{
    background-color: blueviolet;
}

3.4、复合选择器

选择某个父元素中的某个子元素,并可以避免冲突。起到嵌套使用的效果

//de4.html
<body>
    <ul class="aaa">
        <li class="bbb">吃饭</li>
        <li>吃饭</li>
        <li>吃饭</li>
        <li>吃饭</li>
        <li>吃饭</li>
    </ul>
</body>
//demo4.css
.aaa .bbb{
    color: red;
}

3.5、伪类选择器

让鼠标对标签进行不同操作时让标签具有不同的显示效果。

a:link 选择未被访问过的链接

a:visited 选择已经被访问过的链接

a:hover 选择鼠标指针悬停上的链接

a:active 选择活动链接(鼠标按下了但是未弹起)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./demo5.css">

    <style>
        a{
            color: aqua;
        }
        a:hover{
            color: blue;
        }
        a:active{
            color: chartreuse;
        }
    </style>
</head>
<body>
    <a href="#">跳转</a>
</body>
</html>

三、常用元素属性

设置字体(宋体,黑体......): font-family

设置字体大小:font-size: 20px

设置字体粗细:font-weight: bold/700

设置文字样式:font-style: italic;设置倾斜,font-style: normal;取消倾斜

文本对齐:text-align: [值]。center: 居中对齐 left: 左对齐 right: 右对齐

文本装饰:text-decoration: [值]。underline 下划线. none 啥都没有. 可以给 a 标签去掉下划线. overline 上划线. line-through 删除线 

文本缩进:text-indent: [值]。使用 em 作为单位更好. 1 个 em 就是当前元素的文字大小。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/496706.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PXE批量装centos7系统

1.环境准备&#xff1a; yum -y install tftp-server xinetd #安装并启用 TFTP 服务 #修改TFTP服务的配置文件 vim /etc/xinetd.d/tftp protocol udp # TFTP默认使用UDP协议 wait no # no表示客户机可以多台一起连接&…

通过Caliper进行压力测试程序,且汇总压力测试问题解决

环境要求 第一步. 配置基本环境 部署Caliper的计算机需要有外网权限;操作系统版本需要满足以下要求:Ubuntu >= 16.04、CentOS >= 7或MacOS >= 10.14;部署Caliper的计算机需要安装有以下软件:python 2.7、make、g++(gcc-c++)、gcc及git。第二步. 安装NodeJS # …

Linux用户及用户组权限

一、用户和用户组 功能项命令实例作用用户组cat /etc/group查看当前系统存在的用户组groupadd testing添加一个新的用户组testingcat /etc/group查看组是否被新增成功groupmod -n test testing将testing重命名成testgroupdel test删除组testgroups root查看用户root所在的所有…

爱上数据结构:顺序表和链表

一、线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使 用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构&#xff0c;也就说是连续的一条…

python知识点总结(十)

python知识点总结十 1、装饰器的理解、并实现一个计时器记录执行性能&#xff0c;并且将执行结果写入日志文件中2、队列和栈的区别&#xff0c;并且用python实现3、设计实现遍历目录与子目录4、CPU处理进程最慢的情况通常发生在以下几种情况下&#xff1a;5、CPU处理线程最慢的…

iOS客户端自动化UI自动化airtest+appium从0到1搭建macos+脚本设计demo演示+全网最全最详细保姆级有步骤有图

Android客户端自动化UI自动化airtest从0到1搭建macos脚本设计demo演示全网最全最详细保姆级有步骤有图-CSDN博客 避坑系列-必读&#xff1a; 不要安装iOS-Tagent &#xff0c;安装appium -这2个性质其实是差不多的都是为了安装wda。注意安装appium最新版本&#xff0c;安装完…

洛谷 P1379 八数码难题

代码如下&#xff1a; #include<bits/stdc.h> using namespace std; struct node{string s;int pos; }star,en; map<string,int>mp[2]; queue<node>q[2]; int main(){cin>>star.s;en.s"123804765";for(int i0;i<9;i){if(star.s[i]0) sta…

利用python搭建临时文件传输服务

场景 如果想从一台服务器上传输文件又多种方法&#xff0c;其中常见的是利用scp进行传输&#xff0c;但是需要知道服务器的账号密码才能进行传输&#xff0c;但有时候我们并不知道账号密码&#xff0c;这个时候我们就可以通过python -m SimpleHTTPServer 命令进行传输文件 启…

快速幂算法在Java中的应用

引言&#xff1a; 在计算机科学和算法领域中&#xff0c;快速幂算法是一种用于高效计算幂运算的技术。在实际编程中&#xff0c;特别是在处理大数幂运算时&#xff0c;快速幂算法能够显著提高计算效率。本文将介绍如何在Java中实现快速幂算法&#xff0c;并给出一些示例代码和应…

灯哥驱动器端口讲解----foc电机驱动必看

CS:是电流采样的引脚&#xff0c;三项采样电流&#xff0c;现在只给了两路&#xff0c;另外一路算出来就行了 in:三项电流输入&#xff0c;驱动电机使用。 en:没有用 SDA,SCL&#xff1a;I2C的引脚用来读取编码器的计数值 tx,rx&#xff1a;引出来了一路串口&#xff0c;没有用…

P8623 [蓝桥杯 2015 省 B] 移动距离 Python

[蓝桥杯 2015 省 B] 移动距离 题目描述 X 星球居民小区的楼房全是一样的&#xff0c;并且按矩阵样式排列。其楼房的编号为 $1,2,3, \cdots $ 。 当排满一行时&#xff0c;从下一行相邻的楼往反方向排号。 比如&#xff1a;当小区排号宽度为 6 6 6 时&#xff0c;开始情形如…

JUC并发编程之常用方法

sleep() public void testSleepAndYield() {Thread t1 new Thread(() -> {try {log.debug("t1-sleep...");Thread.sleep(2000);} catch (InterruptedException e) {throw new RuntimeException(e);}}, "t1");log.debug("t1 start 前的状态&#…

【Linux】详解进程程序替换

一、替换原理 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支)&#xff0c;子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时&#xff0c;该进程的用户空间代码和数据完全被新程序替换&#xff0c;从新程序的启动例程开始执…

递增的三元子序列-数组334-c++

利用栈的暴力解法&#xff0c;O(n^2)的时间复杂度&#xff0c;但是leetcode报错超时。 #include <stack>class Solution { public:bool increasingTriplet(vector<int>& nums) {int m nums.size();int n 2;for (int i 0; i < m - 3; i) {stack<int&g…

如祺出行冲刺上市:三年被罚款270万元,销售费用远高于研发开支

3月26日&#xff0c;Chenqi Technology Limited&#xff08;如祺出行&#xff09;再次递交招股书&#xff0c;准备在港交所主板上市&#xff0c;中金公司、华泰国际、农银国际为其联席保荐人。据贝多财经了解&#xff0c;如祺出行曾于2023年8月递表。 相较于此前招股书&#xf…

Swagger3探索之游龙入海

引言 后端开发中常用的接口调用工具一般使用Postman、ApiPost工具&#xff0c;但后期需要与前端联调&#xff0c;要补充接口文档花费大量时间&#xff0c;此时Swagger3应运而生&#xff0c;大大提高沟通交流的效率。 引用依赖 <!-- Swagger3 调用方式 http://ip:port/swa…

Android Studio控制台输出中文乱码问题

控制台乱码现象 安卓在调试阶段&#xff0c;需要查看app运行时的输出信息、出错提示信息。 乱码&#xff0c;会极大的阻碍开发者前进的信心&#xff0c;不能及时的根据提示信息定位问题&#xff0c;因此我们需要查看没有乱码的打印信息。 解决步骤&#xff1a; step1: 找到st…

Jetson Orin NX 安装 anaconda、cuda、torch、torchvision

第一次接触踩了不少坑&#xff0c;切忌不要按照常见服务器、电脑的思路安装。 安装 JetPack 套件 JetPack 是 Nvidia为 Jetson 系列开发板开发的一款软件开发包&#xff0c;常用的开发工具基本都有&#xff0c;安装 Jetson 会自动的将匹配版本的CUDA、cuDNN、TensorRT等安装好…

day04_JDBC_课后练习(创建数据库,表格,添加模拟数据,搭建开发环境,编写实体类,实现接口,测试)

文章目录 day04_JDBC_课后练习1、创建数据库2、创建如下表格3、添加模拟数据4、搭建开发环境&#xff0c;准备各个工具组件&#xff08;1&#xff09;使用druid&#xff08;德鲁伊&#xff09;数据库连接池&#xff08;2&#xff09;使用尚硅谷的JDBCTools工具类&#xff08;直…

【虚幻引擎】DTWebSocketServer 蓝图创建WebSocket服务器插件使用说明

本插件可以使用蓝图创建WebSocket服务器&#xff0c;并监听响应数据。 1. 节点说明 Create Web Socket Server – 创建WebSocket服务器对象并开启监听 创建一个WebSocket服务器对象&#xff0c;并监听相应端口&#xff0c;连接地址为 ws://IP:PORT, 比如ws://192.168.1.5:9001…