Blogger Information
Blog 11
fans 0
comment 0
visits 4684
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
细说选择器权重与使用场景
昊森
Original
325 people have browsed it

选择器权重

下面这段代码我们可以看出,我们给h3设置了蓝色和红色,但是它页面内只渲染出了红色。

那是因为css是层叠样式表,逐级向下运行,我们的蓝色被它盖住了。

那我们在源码不变的情况下让他显示蓝色,应该怎么做呢?

这时候选择器权重就起到作用了。

html

  1. <h3>读孙子兵法,品启强人生</h3>

css

  1. h3 {
  2. color: blue;
  3. }
  4. h3 {
  5. color: red;
  6. }
  7. /* css是层叠样式表,就像刷油漆一层一层,所以我们看到的是最后一次设置的颜色 */

选择器权重介绍

首先我们看看什么是权重,我们将鼠标箭头放在h3标签上即可看到

选择器特定性:(0,0,1)

我们可以这样理解:

0,0,1=001 那么这个1是在个位上,
0,1,0=010 那么这就是十位数字,
1,0,0=100 那么这就是百位数字。
那么权重又是怎么计算的呢?

1在个位:001=0100+010+11=001
1在十位:010=0
100+110+01=010
1在百位:100=1100+010+0*1=100
那么就可以得出结论:1,0,0>0,1,0>0,0,1

css由原子选择器构成

tag:标签选择器,相当于“个位”
class:类选择器,相当于“十位”
id:ID选择器,相当于“百位”
那么我们根据原子选择器来判断

0,0,1:id->0,class->0,tag->1
我们现在就可以实测

  1. <body>
  2. <h3>读孙子兵法,品启强人生</h3>
  3. </body>
  1. h3 {
  2. color: blue;
  3. }
  4. h3 {
  5. color: red;
  6. }
  7. /* css是层叠样式表,就像刷油漆一层一层,
  8. 所以我们看到的是最后一次设置的颜色
  9. */
  10. /* 我们要突破层叠样式,显示第二个 */
  11. /* 下面3个都是0,0,1 */
  12. /* 我们把中间的让他生效 */
  13. h3 {
  14. color: rgb(170, 63, 145);
  15. }
  16. /* 1.增加数量,一个标签为1,那么两个就等于2了 */
  17. /* 这样就成了0,0,2肯定>0,0,1 */
  18. body h3 {
  19. color: red;
  20. }
  21. h3 {
  22. color: rgb(31, 30, 113);
  23. }
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post