css选择器总结

1. 基本选择器

序号选择器名称说明css版本
1*通用选择器选择所有元素,包括html和body2
2div,span标签选择器根据标签选择元素1
3#id选择器选择指定id元素1
4.类选择器选择指定class1
5[attr]属性选择器根据元素属性去选择2-3

属性选择器的几种用法

[href] {color: red;}

[type="password"] {color: red;}

[href^="http"] {color: red;}

[href$=".cn"] {color: red;}

[href*="baidu"] {color: red;}

[class~="def"] {color: red;}// 属性值具有多值时,使用如<p class="abc def"></p>

[lang|="en"] {color: red;}// 属性中有'-'时使用,如<p lang="en-us"></p>

示例代码:

<style type="text/css">
    .abc{
        border: 1px solid blue
    }
    .def{
        font-size: large;
    }
    .ddd{
        font-size: small;
    }
    [class~='def']{
        color: red
    }
</style>
<p class="abc def">hello world</p>// 蓝框 大字 红色
<p class="abc ddd">hello world</p>// 蓝框 小字

2. 复合选择器

序号选择器名称说明css版本
1s1,s2,s3分组选择器选择多个选择器的元素1
2s1 s2后代选择器指定选择器的后代元素1
3s1 > s2子选择器指定选择器的子元素1
4s1+s2相邻兄弟选择器选择相邻且之后的元素1
5s1~s2兄弟选择器选择之后的元素2-3

3. 伪元素选择器

序号选择器名称说明css版本
1::first-line伪元素选择器块级首行1
2::first-letter伪元素选择器块级首字母1
3::before伪元素选择器选择元素之前插入内容2
4::after伪元素选择器选择元素之后插入内容2
5::selection伪元素选择器光标滑动选择内容2

4. 伪类选择器之结构性伪类选择器

序号选择器名称说明css版本
1:root根元素选择器文档根元素,一般为html3
2:first-child子元素选择器第一个子元素2
3:last-child子元素选择器最后一个子元素2
4:only-child子元素选择器只有一个子元素的2
5:only-of-type子元素选择器子元素只有一种类型的1
6:nth-child(n)子元素选择器第n个子元素2
ul > li:first-child{ // li且是第一个子元素的li元素
    color:red;
}
ul > li:last-child{// li且是最后一个元素的li元素
    color: blue;
}
span:only-child{// span且在它父元素下是唯一的span元素;建议把父元素写出来
    color: green;
}
span:only-of-type{// span且在它父元素下是唯一类型的span元素;建议把父元素写出来
    color:green;
};

5. 伪类选择器之UI选择器(input标签用)

序号选择器名称说明css版本
1:enabled表单元素选择器input非disabled时2
2:disable表单元素选择器input标签disabled时1
3:checked表单元素选择器input标签checked时2
4:default表单元素选择器选择元素之后插入内容2
5:valid表单元素选择器选择元素之后插入内容2
6:invalid表单元素选择器块级首字母1
7:required表单元素选择器选择元素之前插入内容2
8:optional表单元素选择器选择元素之后插入内容2

enabled和disable对input的大部分type都有效,除了checkbox/radio/range三个外。

checked和default不知道怎么用。貌似只在opera上有效。

valid和invalid,是表单校验时使用,自己手动添加valid和invalid属性无用,必须是inp
ut使用pattern和required校验。

6. 伪类选择器之动态伪类

序号选择器名称说明css版本
1:link动态伪类选择器未被访问时2
2:visited动态伪类选择器已被访问时1
3:hover动态伪类选择器鼠标以上时2
4:active动态伪类选择器访问中跳转页面时2
5:focus动态伪类选择器获得焦点时2

link/visited/hover/active是有顺序的,其他顺序可能无效,这是个坑。

focus用在input获取焦点时使用。

7. 伪类选择器之其他

序号选择器名称说明css版本
1:not动态伪类选择器反选1
2:empty动态伪类选择器空内容2
3:lang动态伪类选择器包含lang元素2
4:target动态伪类选择器url中有target时2

示例代码:

ul > li:not(:first-child){
    color:red;
}
ul > li:not(:last-child){
    border: 1px solid blue;
}
:empty{display:'none'}
    原文作者:长空
    原文地址: https://segmentfault.com/a/1190000008471789
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞