- 属性选择器
1、E[attr]:只使用属性名,但没有确定任何属性值
【例】input[value]{background: #fcc;}
2、E[attr=“value”]:指定属性名,并指定了该属性的属性值
【例】input[value="val"]{background: #f0f;}
3、E[attr~=“value”]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”必须的
【例】input[value~="val"]{background: #ff0;}
4、E[attr^=“value”]:指定了属性名,并且有属性值,属性值是以value开头的
【例】input[value^="a"]{background: #f00;}
5、E[attr$=“value”]:指定了属性名,并且有属性值,而且属性值是以value结束的
【例】input[value$="l2"]{background: #00f;}
6、E[attr*=“value”]:指定了属性名,并且有属性值,而且属值中包含了value
【例】input[value*="u"]{background: #dcc;}
7、E[attr|=“value”]:指定了属性名,并且属性值仅是value或者以“value-”开头的值(比如说left-con)
【例】 input[value|="val"]{background: #000;}
-
伪类选择器
-
结构性伪类选择器
位置与标签必须严格匹配
-
.list li:nth-child(3){background: #DDCCCC;}
<ul>
<li>小姐姐1</li>`
`<li>小姐姐2</li>`
`<p>小哥哥</p>`
`<li>小姐姐3</li>`
</ul>
/位置与标签必须严格匹配,此时,“小姐姐3”所在的第三个li并不会发生变化,因为ul的第三个li的位置已经被“小哥哥”所在的p标签所占据了。/
X:first-child 匹配子集的第一个元素。IE7就可以支持
X:last-child匹配父元素中最后一个X元素
**X:nth-child(n)**用于匹配索引值为n的子元素。索引值从1开始(可以指定参数值或者表达式,如2n/even;odd/2n+1)
X:only-child这个伪类一般用的比较少,比如上述代码匹配的是div下的有且仅有一个的p,也就是说,如果div内有多个p,将不匹配。即他必须是唯一的子元素(必须是独生子)。
**X:nth-last-child(n)**从最后一个开始算索引。
X:first-of-type匹配同级(相同的元素)兄弟元素中的第一个X元素
X:last-of-type匹配同级兄弟元素中的最后一个X元素
**X:nth-of-type(n)**匹配同类型中的第n个同级兄弟元素X
X:only-of-type匹配属于同类型中唯一兄弟元素的X
X:nth-last-of-type(n) 匹配同类型中的倒数第n个同级兄弟元素X
:root匹配文档的根元素。在HTML(标准通用标记语言下的一个应用)中,根元素永远是HTML
X:empty匹配没有任何子元素(包括包含文本)的元素X
-
目标伪类
- 目标伪类选择器
E:target 选择匹配E的所有元素,且匹配元素被相关URL指向(如锚点链接)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8lTw9J9m-1583509418000)(./img/4.png)]
- 目标伪类选择器
-
UI 元素状态伪类选择器
E:enabled
匹配所有用户界面(form表单)中处于可用状态的E元素
E:disabled
匹配所有用户界面(form表单)中处于不可用状态的E元素
E:checked
匹配所有用户界面(form表单)中处于选中状态的元素E
E::selection
匹配E元素中被用户选中或处于高亮状态的部分(必须是双冒号) -
动态伪类选择器
E**:link**
链接伪类选择器
选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接描点上
E**:visited**
链接伪类选择器
选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于链接描点上
E**:active**
用户行为选择器
选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上
E:hover
用户行为选择器
选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover
E:focus
用户行为选择器
选择匹配的E元素,而且匹配元素获取焦点 -
层级选择器
E>F
子选择器
选择匹配的F元素,且匹配的F元素是所匹配的E元素的第一个子元素
E+F
相邻兄弟选择器
选择匹配的F元素,且匹配的F元素紧位于匹配的E元素的后面
E~F
通用选择器
选择匹配的F元素,且位于匹配的E元素后的所有匹配的F元素