CSS2定义了4个属性选择器
E[foo]:选择匹配E的元素,且该元素定义了foo属性;
E[foo="bar"]:选择匹配E的元素,且该元素定义了foo属性值为“bar”;
E[foo~="bar"]:选择匹配E的元素,且该元素定义了foo属性;
E[foo|="en"]:选择匹配E的元素,且该元素定义了foo属性,foo属性值是一个以连字符-分割的列表,值开头的字符为en。
CSS3新增的3个属性选择器
E[foo^="bar"]:选择匹配E的元素,且该元素定义了foo属性,foo属性值包含前缀为“bar”的子字符串;
E[foo$="bar"]:选择匹配E的元素,且该元素定义了foo属性,foo属性值包含后缀为“bar”的子字符串;
E[foo*="bar"]:选择匹配E的元素,且该元素定义了foo属性,foo属性包含“bar”的子字符串。
CSS3遵循惯用编码规则,选用^、$和*这3个通用匹配运算符,其中^表示匹配起始符,$表示匹配终止符,*表示匹配任意字符,使用它们更符合编码习惯和惯用编程思维。
UI伪类选择器,这些选择器的共同特征是:指定的样式只有当元素处于某种状态下时才起作用,在默认状态下不起作用。CSS3共定义了11种UI元素状态伪类选择器,分别是E:hover、E:active、E:focus、E:enabled、E:disabled、E:read-only、E:read-write、E:checked、E:default、E:indeterminate和E:selection。
其他选择器
E~F:通用兄弟元素选择器类型,选择E元素后面的兄弟元素F;
E:not(s):否定伪类选择器类型,相当于二次过滤,E元素过滤掉S的元素;
E:target:目标伪类选择器,目标元素是E。