您现在的位置是:网站首页> 编程资料编程资料
CSS中选择器的权重值的计算浅谈CSS中的继承性,特殊性,层叠性和重要性css 权重值(层叠性)实例详解
2021-09-04
1276人已围观
简介 这篇文章主要介绍了CSS中选择器的权重值的计算的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
CSS 选择器权重值
CSS 具有自己的优先级计算方法,而不仅仅是行间>内部>外部、ID>class>元素
1. 样式类型
行间样式
我的行间CSS样式。
内联样式
外部样式
2. 选择器类型
| 选择器 | 栗子 |
|---|---|
| ID | #id |
| class | .class |
| 标签 | p |
| 属性 | [type='text'] |
| 伪类 | :hover |
| 伪元素 | ::first-line |
| 相邻选择器、子代选择器 | > + |
3. 权重计算规则
- 内联样式,如: style="...",权值为1000。
- ID选择器,如:#content,权值为0100。
- 类,伪类、属性选择器,如.content,权值为0010。
- 类型选择器、伪元素选择器,如div p,权值为0001。
- 通配符、子选择器、相邻选择器等。如* > +,权值为0000。
- 继承的样式没有权值
4. 比较规则
1,0,0,0 > 0,99,99,99。也就是说从左往右逐个等级比较,前一等级相等才往后比。
无论是行间、内部和外部样式,都是按照这个规则来进行比较。而不是直观的行间>内部>外部样式;ID>class>元素。之所以有这样的错觉,是因为确实行间为第一等的权重,所以它的权重是最高的。而内部样式可能一般写在了外部样式引用了之后,所以覆盖掉了之前的。
在权重相同的情况下,后面的样式会覆盖掉前面的样式。
通配符、子选择器、相邻选择器等的。虽然权值为0000,但是也比继承的样式优先,0 权值比无权值优先。
5. !important
!important 的作用是提升优先级,换句话说。加了这句的样式的优先级是最高的(比内联样式的优先级还高)。
我显示红色
ie7+和别的浏览器对important的这种作用的支持度都很好。只有ie6-有些bug
p{ color:red !important; color:blue; } //会显示blue但是这并不说明ie6不支持important,只是支持上有些bug。
p{color:red !important; } p{color:blue;} // 这样就会显示的是red。说明ie6还是支持important的当 !important 规则被应用在一个样式声明中时,该样式声明会覆盖CSS中任何其他的声明,无论它处在声明列表中的哪个位置。尽管如此,!important 规则还是与优先级毫无关系。使用 !important 不是一个好习惯,因为它改变了你样式表本来的级联规则,从而难以调试。
在使用 !important 时需要注意:
- Never 永远不要在全站范围的 css 上使用 !important
- Only 只在需要覆盖全站或外部 css(例如引用的 ExtJs 或者YUI )的特定页面中使用 !important
- Never 永远不要在你的插件中使用 !important
- Always 要优化考虑使用样式规则的优先级来解决问题而不是 !important
网上的帖子大多深浅不一,甚至有些前后矛盾,在下的文章都是学习过程中的总结,如果发现错误,欢迎留言指出~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- CSS 实现平行四边形的示例代码CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 详解css如何利用 :before :after 写小三角形
- css之分页打印的示例代码CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 清除css浮动的三种方法小结详解css清除浮动float的七种常用方法总结和兼容性处理浅谈css中浮动和清除浮动带来的影响CSS清除浮动方法小结详解CSS中zoom属性或overflow:auto属性清除浮动的作用关于清除浮动塌陷的几种方法总结浅谈CSS中的clear清除浮动CSS清除浮动的方法详解CSS浮动所差生的内容溢出问题及清除浮动的方法小结DIV+CSS 清除浮动常用方法总结Css实现清除浮动的方法汇总
- 使用纯CSS实现书籍3D翻页效果的示例css transform 翻页动画记录的实现HTML5 3D书本翻页动画的实现示例很酷的HTML5电子书翻页动画特效一个不错的html 打印代码支持翻页css实现点击滚动翻页的效果(无js)css3实现书本翻页效果的示例代码
- 使用css3做0.5px的细线的示例代码css中引入svg来兼容部分安卓机显示0.5px边框的示例css实现各种0.5px的线(小结)
- 使用CSS样式写选择框右侧小三角 CSS 样式书写规范(推荐)在线css sprite/css精灵/雪碧图css样式生成工具CSS使用classList实现两个按钮样式的切换css判断某元素的子元素个数并分别设置样式的方法jQuery ui+css3制作圆形音乐播放器样式特效源码css样式改变及实际用法详解
- CSS 埋点统计的示例代码CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- css判断某元素的子元素个数并分别设置样式的方法CSS :befor :after 伪元素的巧妙用法详解CSS nth-child与nth-of-type的元素查找方式CSS 实现元素较宽不能被完全展示时将其隐藏的方法css3实现多个元素依次显示效果单元素利用css实现多重边框效果示例代码css3之UI元素状态伪类选择器实例演示利用CSS3伪元素实现逐渐发光的方格边框css 获取从第n个开始之后的所有元素
- CSS属性之定位属性(图文详解)
