人亦已歌 发表于 2023-1-31 23:04:21

CSS核心(二十五)css样式的权重叠加精讲

CSS选择器的权重定义如下:
!important 权重无穷大

行内样式权重1000

id权重100

class   权重10

标签名权重1
1.一定要注意选择器是否精准的选择到目标元素,精确选择比权重叠加的优先级高。
2.每一位上,满10不能进1。

下面我们通过代码来分析一下:


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>css样式的权重叠加</title>
</head>
<style>
      .box{ /* 10 */
                color:green;      
      }
      p{ /* 1*/
                color:red;      
      }
      p .s{ /* 1 10 */
                color:purple;      
      }
      .box span{/* 10 1 */
                color:blueviolet;      
      }
</style>
<body>

<div class="box">
      盒子
    <p class="pp">      
            段落
            <span class="s">文字</span>
    </p>
</div>

</body>
</html>


显示结果如下:



以上代码中,首先使用class选择器选择了父盒子div,将文字颜色设置为绿色,div中包含了p标签和span标签,此时如果不设置其它选择器,三个标签中的文字都应该是绿色。
然后又使用标签选择器精确选中了p,并设置了p标签的颜色,此时虽然标签选择器的权重只有1,但由于是精准选中的,所以p标签的文本颜色变为了红色。
然后又分别用p .s和.box span,它们的权重叠加结果都是11,因为不产生进位,所以都是10。又由于二者都精确选中了span元素,所以后面的覆盖了前面的,span的最终颜色为blueviolet。



boybinxue 发表于 2023-2-17 15:12:21

我还没有编出什么东西,但我知道现在应该注意那些了.多谢

tl3shi 发表于 2023-2-24 20:25:27

俺和你们说哟,我还没毕业出来的,。其实计算机这方面我很菜,我自己都这样认为,但是尽管这样我还是能在苏州这边的IT里面工作,我感情很幸福,有时候幸福降临的时候挡也挡不住,真的我很喜欢现在这样,因为我比老哥幸运的多了,。111

Aliuxing 发表于 2023-2-28 18:54:04

看过了依然经典~~

lk2000mail 发表于 2023-3-9 11:11:36

写的是不是用C++语言写的啊?我学的是VB的,不太看得懂!

hyfage 发表于 2023-3-16 00:02:47

不错!

oujsj0446 发表于 2023-3-20 03:46:04

谢了多交流才会进步吗

浪缘 发表于 2023-3-25 09:35:01

^很受启发!谢谢您的佳文!

delpierowangbo 发表于 2023-3-29 09:14:46

^学习

by050624208 发表于 2023-4-1 04:59:35

well
页: [1] 2 3 4
查看完整版本: CSS核心(二十五)css样式的权重叠加精讲