博客列表 >权重的原理计算和伪类匹配关系

权重的原理计算和伪类匹配关系

逍遥php
逍遥php原创
2022年10月23日 21:46:49360浏览

1.权重的计算与原理

  1. /* 1.实体标记 : id,class,tag */
  2. /* 2.排列顺序:id,class,tag */
  3. /* 3.记数方式:选择器中的实体标记数量 */
  4. /* 权重表示方法:选择器中的实体标记数量 */
  5. /* (0,0,1) :id=>0,class=>0,tag=>1*/
  6. /* (id,class,tag) */
  7. h1 {
  8. color: red;
  9. }
  10. /* 权重是多少?(0,1,1)id=>0,class=>1,tag=>1
  11. id=null=0
  12. class=.title=1
  13. tag=h1=1
  14. */
  15. h1.title {
  16. color: aliceblue;
  17. }
  18. /*
  19. id=#active=1
  20. class=.title=1
  21. tag=h1=1
  22. */
  23. h1#active.title {
  24. color: aliceblue;
  25. }
  26. /*
  27. 权重(1,2,3)
  28. id=#active=1
  29. class=.top .title=2
  30. tag=header,h1,div=3
  31. */
  32. header .top h1 .title div#active {
  33. color: aliceblue;
  34. }

注意事项

权重注意事项:尽量不要再’html’中使用’id’属性
原因:1.id权重过大,位于权重顶端
2.id会导致选择器失去弹性/弹性不足,不利于调试或复用

2.伪类的匹配关系

demo.html

  1. <!-- 伪类:伪(假,仿),类(class级) -->
  2. <!-- 伪类类型 -->
  3. <!--
  4. 1.结构伪类:根据元素的位置来匹配元素
  5. 2.状态伪类:根据元素的状态来匹配元素
  6. -->
  7. <ul class="list">
  8. <li class="li">item1</li>
  9. <li class="li">item2</li>
  10. <li class="li">item3</li>
  11. <li class="li">item4</li>
  12. <li class="li">item5</li>
  13. <li class="li">item6</li>
  14. <li class="li">item7</li>
  15. <li class="li">item8</li>
  16. </ul>

demo.css

1.1 原理

  1. :nth-of-type(an + b)
  2. 1.a:系数,[0,1,2,3,4....]
  3. 2.n:参数,[0,1,2,3,4....]
  4. 3.b:偏移量,从0开始
  5. 规则:计算出来的索引,必须是有效的(从1开始)
  6. 素的二种场景:1.匹配一个,2.匹配一组

1.2 匹配第一个

  1. /* a=0:匹配第一个 */
  2. .list > li:nth-of-type(0n + 1) {
  3. background-color: blue;
  4. }

1.2 匹配一组

  1. /* a=1:匹配一组 */
  2. /* 全选:1n+0 */
  3. .list > li:nth-of-type(1n + 0) {
  4. background-color: cadetblue;
  5. }

1.3 匹配从第三个开始

  1. /* a=1 , b=3 */
  2. .list > li:nth-of-type(1n + 3) {
  3. background-color: blue;
  4. }

1.4 匹配前三个

  1. /* -n 匹配前3个 */
  2. .list > li:nth-of-type(-n + 3) {
  3. background-color: cadetblue;
  4. }
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议