CSS笔记-选择器
CSS选择器备忘。
基本选择器
- 通配选择器:
*
- 元素选择器
div
- ID选择器
#x
- 类选择器
.x
- 多类选择器
.a.b
:同时有a和b
层次选择器
- 后代选择器
a b {
- 子元素选择器
a > b
- 相邻兄弟元素选择器
a + b
:紧接在a后面的同级b元素 - 兄弟元素选择器
a ~ b
:在后面的所有同级b元素(不需要相邻)
属性选择器
a[x]
:包含x属性a[href="xx"]
href属性为xxa[href~="xx"]
href属性包含xx单词的 (p.xxx
等价于p[class~="xxx"]
)a[href^="xx"]
href属性以xx开头的a[href$="xx"]
href属性以xx结尾的a[href*="xx"]
href属性包含xx的a[href|="xx"]
href属性为xx,或者以xx-开头的
伪类选择器
- 链接伪类(只能应用在a上):
:link
未访问的超链接:visited
已访问的超链接
- 动态伪类(可以应用在任何元素上):
:focus
当前拥有输入焦点的元素:hover
鼠标悬停的元素:active
被用户输入激活的元素(问题:active和focus的区别?)
- 表单伪类
:enabled
匹配表单中可用的元素:disabled
匹配表单中禁用的元素:checked
匹配表单中被选中的radio或checkbox元素
选择子元素的伪类:
child系列:
:only-child
选择作为唯一子元素出现的元素:first-child
选择作为子元素出现的第一个元素:last-child
选择作为子元素出现的最后一个元素:nth-child(n)
作为第n个子元素出现的元素(从1开始计数):nth-last-child(n)
作为倒数第n个子元素出现的元素
of-type系列,和child系列的区别是只计算同类元素:
:only-of-type
选择作为唯一子元素出现的元素:first-of-type
选择作为子元素出现的第一个元素:last-of-type
选择作为子元素出现的最后一个元素:nth-of-type(n)
作为第n个子元素出现的元素:nth-last-of-type(n)
作为倒数第n个子元素出现的元素
其他:
:empty
选择不包含子元素的元素:not(selector)
选择不匹配selector的元素
伪元素选择器
- 设置首字母样式
::first-letter
- 设置第一行样式
::first-line
- 设置选中内容的样式
::selection
- 设置之前的样式
::before
- 设置之后的样式
::after
关于一个冒号和两个冒号
两个冒号是CSS3提出的,用于伪元素,但是:first-line
、:first-letter
、:before
、:after
伪元素是CSS2就提出来了,CSS2的时候伪元素也是用一个冒号,所以这四个是一个冒号,两个冒号都可以的。
参考资料
如果觉得文章对你有帮助,就打赏杯咖啡钱呗😊