CSS层叠机制的示例分析

发布时间:2021-07-01 09:14:04 作者:小新
来源:亿速云 阅读:161

这篇文章主要为大家展示了“CSS层叠机制的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS层叠机制的示例分析”这篇文章吧。

css中为什么要有层叠机制

因为在css中可能会有多个样式同时影响同一个元素的某个属性,层叠机制可以解决作者(写代码的人),用户(浏览页面的人)和用户代理(一般指浏览器)的样式冲突。

在层叠中每个样式规则都有一个权重值,当其中几条规则同时生效时,权重最大的规则优先。一般来说作者指定的样式权重值高于用户样式权重值,用户样式权重高于客户端(用户代理)权重值。一般权重值跟对象,是否有!important,特异度和位置先后有关。在层叠顺序中,以下权重值从小到大

(1)用户代理样式

(2)用户一般样式

(3)作者一般样式

(4)作者重要样式(!important)

(5)用户重要样式(!important)

(6)如果是两个样式来自相同的代码,如都来自作者(代码),并且它们的样式声明同样重要,则根据特异度来计算,特异度高的会覆盖特异度低的

(7)如果特异度也相同,则越往后的样式优先级越高

为什么用户设置的重要样式比作者重要样式优先级高,这样做的原因是为了方便用户实现一些特殊的要求,例如页面字体大小的调整等。

选择器特异度的计算

(1)如果一个声明出现在元素的style属性中,则将a计为1;

(2)b等于选择器中所有ID选择器加起来的数量和

(3)c等于选择器中所有class选择器和属性选择器,以及伪类选择器加起来的数量和

(4)d等于选择器中所有标签选择器和伪元素选择器加起来的数量和

a-b-c-d即是选择器的特异度,比较顺序从a先比起,谁先大则优先级就越高。

注意:

  1. 继承的优先级最低,没有特异度

  2. 结合符(如+,>)及通用选择符(*)特异度为0

.box{} /*特异度=0,0,1,0*/
.box div{} /*特异度=0,0,1,1*/
#nav li{} /*特异度=0,1,0,1*/
p:first-line{} /*特异度=0,0,0,2*/
style="" /*特异度=1,0,0,0*/

以上是“CSS层叠机制的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. CSS层叠样式是什么
  2. CSS的层叠概念是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css

上一篇:PHP中Fatal error session_start()错误如何解决

下一篇:ASP.NET MVC5如何实现文件上传与地址变化处理

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》