浅谈css选择器

本文全面介绍了CSS选择器的分类及其语法,包括基本选择器、层次选择器、动态伪类选择器等,帮助读者掌握如何精确地选取网页元素进行样式设置。

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

一、css选择器分类

这里写图片描述

二、选择器语法

1、基本选择器语法

选择器类型功能描述
*通配选择器选择文档中的所有HTML元素,如:*{margin:0}
E元素选择器选择指定类型的HTML元素,如:p{font-size:16px}
idID选择器选择指定ID属性值为’id’的任意类型元素,如: #myDiv:{width:200px}
.class类选择器选择指定class属性值为’class’的任意类型的任意多个元素,如:.red{color:red}
selector1,selectorN群组选择器将每一个选择器匹配的元素集合,如:p,div{color:red}



2、层次选择器

选择器类型功能描述
E F后代选择器该选择器定位元素E的后代中所有元素F,如: ul li{color:red}
E>F子选择器该选择器定位元素E的直接子元素中的所有元素F
E+F相邻兄弟选择器该选择器定位与元素E有相同父元素且紧邻元素E的元素F
E~F一般兄弟选择器该选择器定位与元素E有相同父元素且位于E之后的所有元素F



3、动态伪类选择器

选择器类型功能描述
E:link链接伪类选择器该选择器匹配元素E被定义了超链接并未被访问过。常用于链接描点上
E:visited链接伪类选择器该选择器匹配元素E被定义了超链接并已被访问过。常用于链接描点上
E:active用户行为选择器该选择器匹配元素E被被激活。常用于链接描点和按钮上
E:hover用户行为选择器该选择器匹配元素E且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover
E:focus用户行为选择器该选择器匹配元素E且而且匹配元素获取焦点

注:a:hover 必须位于 a:link 和 a:visited 之后,a:active 必须位于 a:hover 之后


4、目标伪类选择器

选择器功能描述
E:target该选择器匹配相关URL指向的E元素



5、UI元素状态伪类选择器

选择器类型功能描述
E:checked选中状态伪类选择器匹配选中的复选按钮或者单选按钮表单元素
E:enabled启用状态伪类选择器匹配所有启用的表单元素
E:disabled不可用状态伪类选择器匹配所有禁用的表单元素



6、结构伪类选择器

选择器功能描述
E:fisrt-child父元素的第一个子元素E,与:nth-child(1)相同;
E:last-child父元素的倒数第一个子元素E
E:root根元素,始终指html元素;
E F:nth-child(n)该选择器定位元素E的第n个子元素的元素F:
E F:nth-last-child(n)该选择器定位元素E的倒数第n个子元素的元素F;
E:nth-of-type(n)该选择器定位元素E的第n个指定类型子元素;
E:nth-last-of-type(n)该选择器定位元素E的导数第n个指定类型子元素:
E:first-of-type与:nth-of-type(1)相同;
E:last-of-tye与:nth-last-of-type(1)相同;
E:only-child父元素中唯一的子元素E
E:only-of-type父元素中唯一具有该类型的元素E;
E:empty没有子元素的元素,没有子元素包括文本节点;

注::nth-child(odd) 选择的是奇数项,而使用:nth-last-child(odd) 选择的却是偶数项


7、否定伪类选择器

选择器功能描述
E:not(F)匹配所有除元素F外的E元素



8、属性选择器

选择器功能描述
E[attr]该选择器定位具有属性attr的任何元素E;
E[attr=value]该选择器定位具有属性attr且属性值为value的任何元素E;
E[attr=value]
E[attr^=value]该选择器定位具有属性attr且属性值以value开头的任何元素E;
E[attr*=value]该选择器与E[attr~=value]相似,但更进一步,定位具有属性attr且属性值任意位置包含val的元素E,value可以是一个完整的单词,也可以是一个单词中的一部分;
E[attr$=value]该选择器与E[attr^=value]正好相反,定位具有属性attr且属性值以value结尾的任何元素E;
E[attr~=value]该选择器定位具有属性attr且属性值为完整单词 value 的任何元素E;



9、伪元素

选择器功能描述
:first-line匹配文本首行;
:first-letter匹配文本首字母;
:before 与:after使用 contnet 属性生成额外的内容并插入在标记中;
:selection匹配突出显示的文本;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值