最全的CSS选择器及示例整理,你值得拥有

1、简单选择器

选择器示例含义
通配符*所有元素
ID选择器#demo匹配id=”demo”的元素(id唯一)
类选择器.demo匹配class属性值包含demo的元素
元素选择器div匹配所有div元素
包含/后代选择器div p匹配所有被div包含的p元素
子代选择器div>p匹配div元素的所有一级子元素p
相邻兄弟选择器div+p匹配紧跟在div元素之后的兄弟元素p
兄弟选择器div~p匹配div元素后面的所有兄弟元素p
组合选择器div,p匹配所有div元素和p元素

搭配 盘点选择器中的那些坑~ 食用更佳

注意:

!important就如同一个VIP标签,被贴上此标签CSS声明将获得高权重。要谨慎使用 !important。

2、动态伪类选择器

选择器示例含义
E:linka:link匹配未访问过的链接a
E:visiteda:visited匹配访问过的链接a
E:hovera:hover设置元素在鼠标悬停时的样式
E:activea:active匹配被激活的元素
E:focusa:focus匹配获取焦点的指定元素
E:focus-withina:focus-within匹配当前获取焦点的元素或者其父辈元素(类似于JavaScript事件冒泡)。此选择器扩展了获取焦点生效范围

3、UI元素伪类选择器

选择器含义
E:default匹配被默认选中的表单元素,比如复选框、单选按钮或者select下拉菜单
E:checked匹配处于选中状态(checked)的元素
E:enabled匹配处于可用状态的元素
E:disabled匹配处于禁用状态的元素

4、结构性伪类选择器

选择器示例含义
E:not()li:not(.demo)匹配所有的li元素,然后通过:not将class属性值为"demo"的元素筛选掉。
E:roothtml:root匹配文档的根元素,一般来讲就是HTML
E:lang()p:lang(zh-cn)设置使用特殊语言的p元素的样式
E:emptyli:empty匹配内容为空的li元素
E:targetp:target匹配被激活的目标元素,点击锚点链接时,目标元素被激活
E:first-childli:first-child匹配父元素中第一位类型为li的子元素
E:last-childli:last-child匹配父元素中最后一位类型为li的子元素
E:only-childli:only-child匹配父元素中惟一的类型为li的子元素
E:nth-child(n)li:nth-child(2)匹配父元素中正数第2个的类型为li的子元素
E:nth-last-child(n)li:nth-last-child(2)匹配父元素中倒数第2个类型为li的子元素
E:first-of-typeli:first-of-type匹配父元素下li类型子元素集合中,处于同标签类型第一位的元素。
E:last-of-typeli:last-of-type匹配父元素下li类型子元素集合中,处于同标签类型最后一位的元素。
E:only-of-typeli:only-of-type匹配父元素下唯一存在的li类型子元素。
E:nth-of-type(n)li:nth-of-type(1)匹配同级type标签类型元素集合中的第1个元素
E:nth-last-of-type(n)nth-last-of-type(1)匹配同级type标签类型元素集合中的倒数第1个元素
E:optionalinput:optional匹配非必需表单元素
E:out-of-rangeinput:out-of-range匹配值不在指定区间的表单元素
E:read-onlyinput:read-only匹配只读(readonly属性)表单元素
E:read-writeinput:read-write匹配可读写表单元素,此选择器仅对input和textarea表单元素有效。
E:requiredinput:required匹配具有required属性的表单元素
E:validinput[type=text]:valid匹配HTML5表单验证通过的元素

看完这篇文章,你就懂nth-child了

5、属性选择器

选择器示例含义
E[att]li[class]匹配具有class属性的li元素
E[att=”val”]li[class=“demo”]匹配具有class属性,且属性值是demo的li元素
E[att~=”val”]li[class~=“demo”]匹配具有class属性,且属性值为一个用空格分隔的字词列表,并且列表中的某个字词等于demo的li元素
E[att^=”val”]li[class^=“demo”]匹配具有class属性,且属性值以demo开头的li元素
E[att$=”val”]li[class$=“demo”]匹配具有class属性,且属性值为以demo结尾的li元素
E[att*=”val”]li[class*=“demo”]匹配具有class属性,且属性值包含demo的li元素

E[att|=”val”] li[class|=“demo”] 匹配具有class属性,且属性值是以"demo"开头并用"-"分割的li元素

6、伪元素选择器

选择器示例含义
E::selectiondiv::selection匹配被选中的文本
E::after.demo::after设置在对象后(依据对象树的逻辑结构)产生的内容
E::before.demo::before设置在元素内部前面(依据对象树的逻辑结构)产生的内容
E::first-linediv::first-line匹配元素内第一行
E::first-letterdiv::first-letter匹配指定元素内第一个字符。
content.demo:after{ content:“添加的内容”; color:red;}规定要插入的字符串内容,通常要和伪类选择器一起使用。

拓展阅读

选择器优先级的计算

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值