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。
我还没有编出什么东西,但我知道现在应该注意那些了.多谢 俺和你们说哟,我还没毕业出来的,。其实计算机这方面我很菜,我自己都这样认为,但是尽管这样我还是能在苏州这边的IT里面工作,我感情很幸福,有时候幸福降临的时候挡也挡不住,真的我很喜欢现在这样,因为我比老哥幸运的多了,。111 看过了依然经典~~ 写的是不是用C++语言写的啊?我学的是VB的,不太看得懂! 不错! 谢了多交流才会进步吗 ^很受启发!谢谢您的佳文! ^学习 well