CSS,默认是CSS2.1,已经有了元素选择器(<>)、class选择器(.)、id选择器(#)、群组选择器(,)、层次选择器(空格、>、+、~)。
CSS3新增了属性选择器、结构伪类选择器、UI伪类选择器。
属性选择器
例子:E[attr^="xxx"] 选择属性attr以xxx开头的元素E;E[attr$="xxx"]选择属性attr以xxx结尾的元素E;E[attr*=""]选择属性attr中包含xxx的元素E。
子元素伪类选择器
使用子元素伪类选择器,可以让结构与样式分离,使得HTML结构更加清晰,更利于后期维护和搜索引擎优化(即SEO)。
第一类 :first-child、:last-child、:nth-child(从1开始的数字/odd/even)、:only-child
第二类 :first-of-type、:last-of-type、:nth-of-type(n)、:only-of-type
区别:第一类必须是其父元素的第一个子元素,下方不用。
UI伪类选择器
:focus、::selection、:checked、:enabled、:disabled、:read-write、:read-only
其他伪类选择器
:root选择<html>元素、:empty选择不包含子元素的元素、:target点击对应的锚点链接,对应的target元素会变、:not()选择除此之外的元素。