文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何查看CSS计算每一个样式属性的权重

2024-04-02 19:55

关注

这篇文章主要介绍如何查看CSS计算每一个样式属性的权重,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

第一步,遍历所有选择器

浏览器在渲染某个HTML元素时,首先会寻找所有作用在该元素上的有效CSS选择器,为此,它根据指定的媒体类型(media type)遍历所有的样式表来源,选择器的来源包括:用户代理(浏览器)样式、作者样式和用户样式。

常用的media type包括all/screen/print,可以通过如下的方式定义: <link href="style.css" media="screen print" ...>

浏览器样式

也就是浏览器自身设置用来显示网站的默认样式,不同的浏览器可能有不同的样式表,例如Chrome和IE、Firefox的就不一样,所以大家分别使用这些浏览器访问同一个网站的时候,看到实际效果可能就不尽相同。

用户样式

浏览器还允许用户设置网页的样式,例如,我们用IE浏览网站的时候,都可以通过浏览器查看菜单下的样式或者文字大小子菜单来设置网页实际的显示效果。

第二步,比较样式属性的重要性

通常情况下,作者样式具有最高的重要性,其次是用户样式,最后才是浏览器样式,但是如果出现了!important标记的话,那么规则会被改变,通过!important 可以提高某种样式的重要性,让它的优先级高于其他没有加该声明的所有样式。下面是样式属性的重要性顺序(由高至低):

1. 标记为!important的作者样式

2. 标记为!important的用户样式

3. 作者样式

4. 用户样式

5. 浏览器(用户代理)的默认样式

第三步,比较样式属性的具体性(Specificity)

具体性可以通过一个简化易用的1000法则来计算

内联样式(inline styling) 权重 1000

ID(#id) 权重 100

类(.class) 权重 10

标签(tag) 权重 1

然后你可以把多个选择器的权值相加,来得到最终的Specificity:

p 具体性 1 (1个标签选择器)

div p 具体性 2 (2个标签选择器, 1+1)

tree 具体性 10 (1个类选择器)

div p.tree 具体性 12 (2个标签选择器 + 1个类选择器, 1+1+10)

#baobab 具体性 100 (1个id选择器)

body #content .alternative p 具体性 112 (标签选择器 + id选择器 + class选择器 + 标签选择器, 1+100+10+1)

选择器具体性的完整计算公式要比上面复杂得多,但了解上面的法则在一般情况下已经足够。

第四步,判断样式属性出现的先后顺序

这一步最简单,出现晚的选择器将拥有高优先级,也就是后来者居上。

对于外部引入的样式表,@import比link拥有更高的优先级,不管它是否出现在link引入之后。

理解了上述的优先级计算规则,我们应该可以推断出前面例子中p元素的最终颜色:

#introduction{ color: red;}

.message{ color: green;}

p{ color: blue;}

<p class="message" id="introduction">

HTML/CSS高级教程。

</p>

以上是“如何查看CSS计算每一个样式属性的权重”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯