前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS选择器如此之多,你了解多少?

CSS选择器如此之多,你了解多少?

作者头像
Javanx
发布2019-09-04 16:14:14
4560
发布2019-09-04 16:14:14
举报
文章被收录于专栏:web秀web秀

前言

css选择器非常之多,常见的如class选择器,id选择器,标签选择器等等。每个的用法都有所区别,虽然很多都能到达同样的效果,但还是有一些更优的选择。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

class、id、标签选择器

这个几个就不细说了,class和标签选择器主要用来设置样式上面,id选择器推荐不要用在css样式上,更多是用在js操作dom时,选择元素。 如:

代码语言:javascript
复制
div{
    background: #fff;
}
.list {
    color: red;
}
代码语言:javascript
复制
$('#li').html('<span>web秀</span>')

element element

div p 选择 <div> 元素内部的所有 <p> 元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

element>element

div>p 选择父元素为 <div> 元素的所有 <p> 元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

element element

div+p 选择紧接在 <div> 元素之后的所有 <p> 元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

[attribute]

[target] 选择带有 target 属性所有元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

[attribute=value]

[target=_blank] 选择 target="_blank" 的所有元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

[attribute~=value]

[title~=title] 选择 title 属性包含单词 "flower" 的所有元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

[attribute|=value]/[attribute^=value]

[lang|=en] 选择 lang 属性值以 "en" 开头的所有元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

[attribute$=value]

p[src$="e"] 选择其 src 属性以 "e" 结尾的所有 <p> 元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

[attribute*=value]

p[title*="abc"] 选择其 title 属性中包含 "abc" 子串的每个 <p> 元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

element1~element2

p~div 选择前面有 <p> 元素的每个 <div> 元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

A标签伪类选择器

:link a:link 所有未被访问的链接(a标签的默认样式)。

:visited a:visited 所有已被访问的链接。

:active a:active 点击后没有松开鼠标的链接。

:hover a:hover 鼠标指针位于其上的链接。

:before / :after

在元素的内容之前插入内容。

代码语言:javascript
复制
div:before{
    content: '';
    display: block;
    background: red;
    width: 30px;
    height: 10px;
}
div:after{
    content: '';
    display: block;
    background: green;
    width: 30px;
    height: 10px;
}
CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

:first-child

p:first-child 匹配的是某父元素的第一个子元素,可以说是结构上的第一个子元素。(注意和:first-of-type做区分)

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

:first-of-type

p:first-of-type 匹配的是该类型的第一个,类型是指什么呢,就是冒号前面匹配到的东西,比如 p:first-of-type,就是指所有p元素中的第一个。这里不再限制是第一个子元素了,只要是该类型元素的第一个就行了,当然这些元素的范围都是属于同一级的,也就是同辈的。(注意和:first-child做区分)

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

:last-child

p:last-child 表示其父元素的最后一个子元素,且这个元素是css指定的元素,才可以生效(注意和:last-of-type做区分)

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

:last-of-type

p:last-of-type 代表在一群兄弟元素中的最后一个指定类型的元素。(注意和:last-child做区分)

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

:only-child

p:only-child 选择器选择的是父元素中只有一个子元素,而且只有唯一的一个子元素

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

:only-of-type

p:only-of-type 表示一个元素他有很多个子元素,而其中只有一种类型的子元素是唯一的

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

:nth-child(n)

p:nth-child(2) 选择属于其父元素的第二个子元素的每个 <p> 元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

:nth-child(odd)或者:nth-child(2n+1) 奇数行、:nth-child(even)或者:nth-child(2n+2) 偶数行

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

:nth-last-child(n)

p::nth-last-child(n) 同上,从最后一个子元素开始计数。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

:empty

p:empty 选择没有子元素的每个 <p> 元素(包括文本节点)。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

:not(selector)

:not(p) 选择非 <p> 元素的每个元素。

CSS选择器如此之多,你了解多少?
CSS选择器如此之多,你了解多少?

input状态选择器

:focus 获得焦点的 input 元素

:enabled 每个启用的 input 元素

:disabled 每个禁用的 input 元素

:checked 每个被选中的 input 元素

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年9月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • class、id、标签选择器
  • element element
  • element>element
  • element element
  • [attribute]
  • [attribute=value]
  • [attribute~=value]
  • [attribute|=value]/[attribute^=value]
  • [attribute$=value]
  • [attribute*=value]
  • element1~element2
  • A标签伪类选择器
  • :before / :after
  • :first-child
  • :first-of-type
  • :last-child
  • :last-of-type
  • :only-child
  • :only-of-type
  • :nth-child(n)
  • :nth-last-child(n)
  • :empty
  • :not(selector)
  • input状态选择器
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档