博客列表 >1020作业——实例演示权重和结构伪类

1020作业——实例演示权重和结构伪类

手机用户284061708
手机用户284061708原创
2022年10月24日 18:42:18505浏览

1 权重的原理

CSS规则是层叠样式,即后面的样式会覆盖前面的样式

  1. <style>
  2. /* 给文字添加颜色 */
  3. div{
  4. color: brown;
  5. }
  6. </style>
  7. <div class="personal" id="geren">个人信息</div>

这会儿文字颜色是棕色,如下图
棕色

如果把修改文字颜色改成蓝色,那么可以使用

  1. <style>
  2. /* 给文字添加颜色 */
  3. div{
  4. color: brown;
  5. }
  6. div{
  7. color: blue;
  8. }
  9. </style>
  10. <div class="personal" id="geren">个人信息</div>

这会儿颜色是蓝色,如下图

但是如果把选择器位置调整一下为:

  1. <style>
  2. /* 给文字添加颜色 */
  3. div{
  4. color: blue;
  5. }
  6. div{
  7. color: brown;
  8. }
  9. </style>

这会儿提示的还是棕色

这就说明相同选择器的样式依赖选择器的书写位置,原则是后面的会覆盖前面的

如果改变选择器的权重

  1. div .personal{
  2. color: brown;
  3. }
  4. /* 这个选择器的权重为:(0,1,1) */
  5. div{
  6. color: brown;
  7. }
  8. /* 权重为:(0,0,1); */

div .personal 即使卸载 div 这个选择器的前面,展示出来的样式也是brown,棕色的

权重的计算方式

权重的表示方法(id的数量,class的数量,tag的数量)
如下选择器

  1. div .personal #geren{
  2. color: brown;
  3. }
  4. /*这个选择器的权重是(1,1,1) */

>
这里的权重计算方式就是:
有一个id geren 数量为1 ,计数为1
有一个class,personal,计数为1,
有一个tag,div,计数为1
按照权重的表示方式,
则得到的权重为(1,1,1)


2 结构伪类

结构伪类:通过元素的位置来匹配元素
举例说明:

  1. <div class="box">
  2. <ul>
  3. <li>box</li>
  4. <li>box</li>
  5. <li>box</li>
  6. <li>box</li>
  7. <li>box</li>
  8. <li>box</li>
  9. <li>box</li>
  10. <li>box</li>
  11. <li>box</li>
  12. <li>box</li>
  13. </ul>
  14. </div>

1 匹配第一个li标签,添加边框和蓝绿色背景

  1. div ul li:nth-of-type(1){
  2. border: 1px solid;
  3. background-color: greenyellow;
  4. }

或者

  1. div ul li:first-of-type{
  2. border: 1px solid;
  3. background-color: greenyellow;
  4. }

得到如下图



2 匹配前五个li标签,添加边框和蓝绿色背景

  1. div ul li:nth-of-type(-n+5){
  2. border: 1px solid;
  3. background-color: greenyellow;
  4. }

得到如下图

3 匹配子元素的规则
*>> 使用结构伪类选择器 :nth-of-type(an+b)

a:系数,取值范围是[0,1,2,3,4,…];
n:参数,取值范围是[0,1,2,3,4,…];
b:偏移量,从0开始
规则为计算出来的索引,必须是有效的(从1开始)*

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