博客列表 >选择器权重与上下文选择器

选择器权重与上下文选择器

大碗宽面
大碗宽面原创
2021年09月25日 16:47:17530浏览

一、选择器权重

1.选择器的特殊性值表述为4个部分,用0,0,0,0表示。或者千[!important],百[id],十[class],个[tag]

ID选择器的特殊性值,0,1,0,0。
类选择器、属性选择器或伪类,0,0,1,0。
元素和伪元素,0,0,0,1。
通配选择器*对特殊性没有贡献,即0,0,0,0。
最后比较特殊的一个标志!important(权重),它没有特殊性值,但它的优先级是最高的

  1. <style>
  2. /* h1标签的类选择器 ID选择器 */
  3. .ccc {background-color: yellow;} /*特殊性值0,0,1,0 */
  4. #ttt {background-color: yellowgreen;} /*特殊性值0,1,0,0 */
  5. /* p标签的类选择器 ID选择器 */
  6. #bbb {background-color: violet;} /*特殊性值0,1,0,0 */
  7. .aaa {background-color: royalblue;} /*特殊性值0,0,1,0 */
  8. h1 {background-color: seagreen;} /*特殊性值0,0,0,1 */
  9. body h1 {background-color: cyan;} /*特殊性值0,0,0,2 */
  10. body .ddd {background-color: darkmagenta; } /*特殊性值0,0,2,0 */
  11. p { background-color: red;} /*特殊性值0,0,0,1 */
  12. body p {background-color: burlywood;} /*特殊性值0,0,0,2 */
  13. </style>
  1. <body>
  2. <h1 style="background-color: sienna" class="ccc" id="ttt">这是棕色</h1> <!--特殊性值0,1,0,0 -->
  3. <p class="aaa" id="bbb">这应该是紫罗兰颜色</p> <!-- 适用第十三行代码-->
  4. <!-- style > ID > class > tag -->
  5. </body>

二、上下文选择器

1.子元素选择器> .list>li选择 .list 后代直接子元素

  1. <ul class="list">
  2. <li>item1</li>
  3. <li>item2</li>
  4. <li class="item">item3</li>
  5. <li>item4</li>
  6. <li>item5</li>
  7. <li>item6</li>
  8. <li>item7</li>
  9. <li>item8</li>
  10. </ul>
  1. /* 子元素选择器 > */
  2. .list > li {
  3. border: 1px solid red;
  4. }

2.后代选择器空格 .list li选择 .list 后代的所有 li 元素

  1. /* 后代选择器 空格 */
  2. .list li {
  3. border: 1px solid red;
  4. }

3.相邻选择器 next 下一个+ .list .item + *的后续下一个兄弟元素

  1. /* 相邻选择器 next 下一个 */
  2. .list .item + * {
  3. background-color: seagreen;
  4. }

4.所有兄弟选择器~ .list .item ~ *: 选择 .list 的后续兄弟元素 *号为通用标识符

  1. /*所有兄弟选择器*/
  2. .list .item ~ * {
  3. background-color: steelblue;
  4. }

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议