博客列表 >1020作业

1020作业

PHP是世界上最好的语言
PHP是世界上最好的语言原创
2022年10月21日 16:01:35393浏览

作业内容:

  1. 实例演示权重的原理与计算方式
  2. 实例演示结构伪类,通过位置关系匹配子元素

实例演示权重的原理与计算方式

试验

试验内容:高权重的CSS样式会覆盖低权重CSS样式,即使高权重的CSS写在低权重CSS之前。

html

  1. <body>
  2. <ul class="list">
  3. <li class="li first">item1</li>
  4. <li class="li">item2</li>
  5. <li class="li">item3</li>
  6. <li class="li">item4</li>
  7. <li class="li">item5</li>
  8. <li class="li">item6</li>
  9. <li class="li">item7</li>
  10. <li class="li">item8</li>
  11. </ul>
  12. </body>

css

  1. li {
  2. color: red;
  3. }

效果

修改css

  1. ul li {
  2. color: blue;
  3. }
  4. li {
  5. color: red;
  6. }

效果

原理和计算

最终颜色为蓝色的原因是:ul li的权重高于li
两个选择器权重的计算:
权重的表示是(id的数量, class的数量, tag的数量)ulli都是标签,因此ul li的权重是(0, 0, 2)li的权重是(0, 0, 1)。前者的权重大于后者的权重,所以最终的颜色是蓝色。

同理,如果修改css

  1. .first {
  2. color: red;
  3. }
  4. ul li {
  5. color: blue;
  6. }

效果

这是因为.first的权重是(0, 1, 0),而ul li的权重是(0, 0, 2),前者权重大于后者,因此item1呈现红色。

实例演示结构伪类,通过位置关系匹配子元素

html

  1. <ul class="list">
  2. <li class="li first">item1</li>
  3. <li class="li">item2</li>
  4. <li class="li">item3</li>
  5. <li class="li">item4</li>
  6. <li class="li">item5</li>
  7. <li class="li">item6</li>
  8. <li class="li">item7</li>
  9. <li class="li">item8</li>
  10. </ul>

匹配一个

匹配第一个

  1. .list > li:first-of-type {
  2. background-color: lightgreen;
  3. }

效果

匹配最后一个

  1. .list > li:last-of-type {
  2. background-color: lightgreen;
  3. }

效果

匹配一组

正向匹配

a=1是正向匹配
匹配全部

  1. .list > li:nth-of-type(n) {
  2. background-color: lightgreen;
  3. }

效果

从第五个开始获取

  1. .list > li:nth-of-type(n + 5) {
  2. background-color: lightgreen;
  3. }

效果

反向匹配

a=-1是反向匹配
匹配前五个

  1. .list > li:nth-of-type(-n + 5) {
  2. background-color: lightgreen;
  3. }

效果

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