html中css3的选择器,CSS3选择器

本文详细介绍了CSS的基本选择器、通配符、元素、类、ID选择器,以及CSS3新增的子元素、相邻兄弟、通用兄弟选择器,属性选择器和伪类,包括动态、锚点、用户行为等。深入理解并掌握这些技巧,提升网页样式控制能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本选择器

非CSS3新增的选择器(最最基本的选择器)

通配符选择器:选中文档中所有元素

元素选择器:选中文档中某一标签的所有元素

类选择器:选中文档中某一class属性值的所有元素

ID选择器:选中文档中特定ID值的元素

后代选择器:结合元素、类和ID选择器,选中父元素下的某一子元素,父元素和子元素间用空格隔开

群组选择器:把需要应用相同样式的选择器放在一起,中间逗号隔开

2ece07dbf32647f5bdc67f6597b61fc9.png

CSS3新增的选择器

子元素选择器(直接后代选择器)

只能选取元素下的子元素,不可选中孙元素

语法为父元素>子元素

ca6909f34d9603c10e2bc0c4453d6c05.png

相邻兄弟元素选择器

选取指定元素相邻的下一个元素为指定元素的元素(说法有点绕,具体看图例)

语法为父元素>子元素+兄弟元素(只有紧邻指定子元素的第一个兄弟元素被选中)

67c42ff5ce1ef92a8edb2f8f2bfb5727.png

通用兄弟选择器

选取指定元素的后续所有指定类型的元素(具体看案例)

语法为父元素>子元素~兄弟元素(子元素后所有指定的兄弟元素全部被选中)

5068681f34ddf8e1610e31e5356945ff.png

属性选择器

选中带有指定属性的HTML元素并设置样式

主要是针对其中的属性值来设置的

element[attribute]:选择所有带有attribute属性的元素

element[attribute="value"]:选择所有attribute属性值为value的元素(必须一模一样)

element[attribute~="value"]:选择所有attribute属性值包括value的元素(包括完整单词)

element[attribute^="value"]:选择所有attribute属性值开头为value的元素

element[attribute$="value"]:选择所有attribute属性值结尾为value的元素

element[attribute*="value"]:选择所有attribute属性值包括value的元素(包括其中的字母即可)

element[attribute|="value"]:选择所有attribute属性值开头为value或value-的元素

伪类选择器

该类元素并不真实存在于HTML中,只有用户和网页交互时才体现出来

动态伪类

锚点伪类

link:超链接默认的状态

visited:超链接被访问过后的状态

用户行为伪类

hover:鼠标悬停时状态

active:鼠标点击后状态

focus:表单中的input元素等光标在其中时的状态

UI元素状态伪类

enabled:针对input、textarea等表单元素中没有设置disabled属性的元素生效

disabled:针对input、textarea等表单元素中设置disabled属性的元素生效

checked:针对checkbox、radio等选择框表单元素,选中时触发

40517c9a7c5e35f5c57b427cd73d5ae4.png

结构类选择器

选定指定顺序位置的元素

按照子元素的位置选择

element:first-child:选中以该element为某个元素第一子节点的元素

element:last-child:选中以该element为某个元素最后子节点的元素

element:nth-child(N):选中element元素为某个元素下的第N个子元素的元素,从1开始计数

element:nth-last-child(N):类似于element:nth-child(N),不过是倒过来数

其中参数N可以设置为n(n恒定从0开始取值),即会遍历某个父元素下第0-n个(所有)为element的元素,也可设置为odd(奇数)/even(偶数)/带有n的表达式(如2n+1)

以上选择方法因为较难控制,一般结合其他选择器同时使用

9397ef047459b4e181010a6cb27e71fd.png

按照子元素的类型和位置选择

element:first-of-type:选定某父元素下element元素中的第1个element元素

element:last-of-type:选定某父元素下element元素中的最后一个element元素

element:nth-of-type(N):选定某父元素下element元素中的第n个element元素

可以理解成只挑选出element元素,然后排序选出其中的第N个

element:nth-last-of-type(N):类似于element:nth-of-type(N),不过是反过来数

517789702a6a5f1d9eb1eb71cc81a3f6.png

其他

element:only-child:选定某父元素下element为其唯一子元素的element元素

element:only-of-type:选定某父元素下element为其中唯一的element元素的element元素(有点绕,看下方例子)

6bef89438b3440614f9495728889f24d.png

empty:选择没有子元素(包括文本)的元素

1758667f2dcf757f5f34de279d8b61ae.png

not:选择非该元素的某元素的所有子元素

fa523e58b031ba04defd66235a804f9d.png

权重

当CSS中添加很多选择器时,会根据权重计算出哪个选择器中的样式发挥作用

行内样式(1000)>ID选择器(100)>类、属性、伪类选择器(10)>元素和伪元素(1)>通配符(0)

被继承的css属性权重为0

伪元素

用来向某些选择器设置特殊效果,可以理解成在HTML中增加了一个原本不存在的元素

通常为了区分,会用element::伪元素这样的语法格式,实际上新版本的浏览器一个冒号也可识别

first-line

对块级元素的第一行文本设置样式

first-letter

对块级元素的第一个字符设置样式

before

在元素内容前插入内容(常配合content使用),该内容将成为元素的第一个子元素

插入的内容不可选中,找不到对应的标签,作为行级元素存在,但可以对其设置样式

dd51d2547f5588590d30dbd587e1d8f8.png

after

在元素内容后插入内容(常配合content使用),常在清除浮动中使用

5717cc42ef5ba0a6bd27722ebc1ca5f6.png

selection

设置文本选中后的前景色和背景色

6054df5628c232c84d6d49557c9764e4.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值