通用选择器:* 选择到所有的元素
选择子元素:> 选择到元素的直接后代(第一级子元素)
相邻兄弟选择器:+ 选择到紧随目标元素后的第一个元素
普通兄弟选择器:~ 选择到紧随其后的所有兄弟元素
伪元素选择器:
::first-line 匹配文本块的首行
::first-letter 选择文本块的首字母
伪类选择器:
:before, :after在元素内容前面、后面添加内容(相当于行内元素)
CSS3结构选择器
:nth-child 选择指定索引处的子元素
nth-child(n) 父元素下的第n个子元素
nth-child(odd) 奇数子元素(同nth-child(2n-1))
nth-child(even) 偶数子元素(同nth-child(2n))
nth-child(an+b) 公式
(nth-child从1开始)
:nth-last-child(n) 倒数第n个子元素
:nth-of-type(n) 父元素下的第n个指定类型的子元素
:nth-last-of-type 父元素下的倒数第n个指定类型的子元素
:first-child 选择父元素下的第一个子元素
:last-child 选择父元素下的最后一个子元素
:only-child 选择父元素下唯一的子元素
:only-of-type 选择父元素下指定类型的唯一子元素
:root 选择文档的根目录,返回html
div :only-child注意空格(选中div下唯一的子元素)
伪类选择器
:link指向未被访问页面的链接设置样式
:visited设置指向已访问页面的链接的样式
:hover鼠标悬停时触发
:active在点击时触发
:enabled 选择启用状态元素
:disabled 选择禁用状态元素
:checked 选择被选中的input元素(单选按钮或复选框)
:default 选择默认元素
:valid、invalid 根据输入验证选择有效或无效的input元素
:in-range、out-of-range 选择指定范围之内或者之外受限的元素
:repuired、optional 根据是否允许:required属性选择input元素
属性选择器
E[attr] 属性名,不确定具体属性值
E[attr=“value”] 指定属性名,并指定其对应属性值
E[attr ~=“value”] 指定属性名,找到的是具有此属性名,且与其它属性名之间用空格隔开。
E[attr ^= “value”] 指定属性名,属性值以value开头
E[attr $=“value”] 指定属性名,属性值以value结束
E[attr *=“value”] 指定了属性名,属性值中包含了value
E[attr |= “value”] 指定属性名,属性值以value-开头或者值为value
1、first-child
first-child表示选择列表中的第一个标签。代码如下:
li:first-child{background:#090}
上面的意思是,li 列表中的 第一个li模块的背景颜色。
2、last-child
last-child表示选择列表中的最后一个标签,代码如下:
li:last-child{background:#090}
3、nth-child(3)
表示选择列表中的第3个标签,代码如下:
li:nth-child(3){background:#090}
上面代码中的3也可以改成其它数字,如4、5等。想选择第几个标签,就填写几。
4、nth-child(2n)
这个表示选择列表中的偶数标签,即选择 第2、第4、第6…… 标签。
5、nth-child(2n-1)
这个表示选择列表中的奇数标签,即选择 第1、第3、第5、第7……标签。
6、nth-child(n+3)
这个表示选择列表中的标签从第3个开始到最后。
7、nth-child(-n+3)
这个表示选择列表中的标签从0到3,即小于3的标签。
8、nth-last-child(3)
相同class下的第一个class元素和最后一个元素:
选择第一个类名: .exerciseInfo: nth-of-type(1) { ... };
选择最后一个类名: .exerciseInfo: last-child { ... };
选择其中一个指定的类名:.exerciseInfo: nth-of-type(x) { ... };
nth-child(n)用法:
1、nth-child(3)
表示选择列表中的第3个标签,代码如下:
li:nth-child(3){background:#fff}
2、nth-child(2n)
表示选择列表中的偶数标签,即选择 第2、第4、第6…… 标签,代码如下:
li:nth-child(2n){background:#fff}
3、nth-child(2n-1)
表示选择列表中的奇数标签,即选择 第1、第3、第5、第7……标签,代码如下:
li:nth-child(2n-1){background:#fff}
4、nth-child(n+3)
表示选择列表中的标签从第3个开始到最后,代码如下:
li:nth-child(n+3){background:#fff}
5、nth-child(-n+3)
表示选择列表中的标签从0到3,即小于3的标签,代码如下:
li:nth-child(-n+3){background:#fff}
6、nth-last-child(3)
表示选择列表中的倒数第3个标签,代码如下:
li:nth-last-child(3){background:#fff}
first-child用法:
1、first-child
first-child表示选择列表中的第一个标签。代码如下:
li:first-child{background:#fff}
last-child用法:
1、last-child
last-child表示选择列表中的最后一个标签,代码如下:
li:last-child{background:#fff}
子选择器
还有一个比较有用的选择器子选择器,即大于符号(>),用于选择指定标签元素的第一代子元素。如右侧代码编辑器中的代码:
.food>li{border:1px solid red;}
包含(后代)选择器
包含选择器,即加入空格,用于选择指定标签元素下的后辈元素。如右侧代码编辑器中的代码:
.first span{color:red;}