基本选择器
*p<p>.navclass="nav" 的元素#wrapperid="wrapper" 的元素a[data-url]data-url 属性的 <a> 的元素a[data-url='http']data-url="http" 属性的 <a> 的元素a[data-url~='http']data-url 属性包含 http 的 <a> 元素a[data-url^='http']data-url 属性以 http 开头的 <a> 元素a[data-url$='http']data-url 属性以 http 结尾的 <a> 元素a[data-url*='http']data-url 属性包含 http 的 <a> 元素p p<p> 元素下所有 <p> 元素p p<p> 元素下所有子 <p> 元素label + input <label> 元素同级的第一个 <input> 元素label ~ input <label> 元素同级的所有 <input> 元素label,input <label>,<input> 元素伪类和伪元素
??伪类(Pseudo-classes)用于指定选择器的某种特定状态或条件,伪类在 DOM 中并不存在,但对用户却是可见的。
动态伪类(Dynamic pseudo-classes)
??动态伪类对除了其名称、属性或内容之外的特性的元素进行分类,不会显示在文档源或文树中。
a:linka:visiteda:hovera:activeinput:focus目标伪类(The target pseudo-classes)
??目标伪类指定当前活动的锚,使用目标伪类可以为活动的锚设置样式。
#tab1:target语言伪类(The language pseudo-classes)
??语言伪类向带有指定 lang 属性元素添加样式。
#p:lang(en)lange="en" 的 <p> 元素UI元素状态伪类(The UI element states pseudo-classes)
??UI元素状态伪类主要用于指定表单中的元素状态。
input:enabledinput:disabledinput:checkeddisplay和visibility属性对于UI元素状态伪类匹配enabled/disabled状态没有影响。
结构性伪类(Structural pseudo-classes)
??结构性伪类用于指定文档的特定结构。
:root:nth-child(n):nth-last-child(n):nth-of-type(n):nth-last-of-type(n):first-child :last-child :last-child :first-of-type:first-of-type:only-child:only-child:empty:nth-child(n)、:nth-last-child(n)、:nth-of-type(n)、:nth-last-of-type(n)中 n 是从 0 开始的整数,表达式可写成an+b, a 和 b 是 0 或正整数,表达式的写法相当于把每 a 个子元素分成一组,取每组的第 b 个元素;取第奇数、偶数个子元素可写表达式为2n+1 或 even、2n 或 odd。
??否定伪类是用来选择所有非指定类型元素的其他元素。
input:not([type="text"])伪元素
??伪元素(Pseudo-elements)是指不存在与文档树中的抽象。
::first-line::first-letter::before::after在 CSS 1 和 CSS 2 中,伪类选择器中只有一个 ":",而 CSS 3 变为两个 "::",是为了区分伪类与伪元素,目前这两个写法效果一致。
::before与::after必须设置content属性,否则元素不能生效。
优先级和权重
?? CSS 中的权重分别为 4 个等级:
内联样式(HTML 文档中的 style 属性)
ID 选择器
类、伪类、属性选择器
元素、伪类元素
这 4 个等级由高到低代表不同的优先级,!important 写在 CSS 规则后,可以将对应的规则提升到最高权重。
相关推荐:
css选择器实例分享
CSS选择器的新用法详解
CSS选择器字段解析的实现方法
以上就是CSS选择器的优先级和权重分析的详细内容,更多请关注php中文网其它相关文章!
