一、什么是CSS优先级?

所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序。当同一个元素(或内容)被多个CSS选择符选中时,就要按照优先权取舍不同的CSS规则。

二、为什么要研究CSS优先级?CSS优先级与门户系统有什么关系?

研究CSS优先级的主要目的就是解决多个CSS选择符选中同一个元素时的冲突问题。在门户系统中,为了保证所有的页面能正常展示,几乎所有的微件及页面都有基础CSS样式,但是门户系统是开放的、个性化的平台,大部分样式都给予了用户修改权,这时自定义样式和门户基本样式就有可能产生冲突,合理使用CSS优先级可以完美的解决这些冲突。

三、CSS优先级规则

◎ 每个ID选择符(#someid),加 0,1,0,0。

◎ 每个class选择符(.someclass)、每个属性选择符(形如[attr=”"]等)、每个伪类(形如:hover等)加0,0,1,0

◎ 每个元素或伪元素(:firstchild)等,加0,0,0,1

◎ 其他选择符包括全局选择符*,加0,0,0,0。相当于没加,不过这也是一种specificity,后面会解释。

按这些规则将数字串逐位相加,就得到最终计算得的specificity,然后在比较取舍时按照从左到右的顺序逐位比较。

这样的说明或许过于复杂,具体示例如下,当两种选择符选中同一个元素时,优先级规则如下:

h1 {color: red;}

/* 只有一个普通元素加成,结果是 0,0,0,1 */

body h1 {color: green;}

/* 两个普通元素加成,结果是 0,0,0,2 */

——后者胜出

h2.grape {color: purple;}

/* 一个普通元素、一个class选择符加成,结果是 0,0,1,1*/

h2 {color: silver;}

/*一个普通元素,结果是 0,0,0,1 */

——前者胜出

html > body table tr[id=”totals”] td ul > li {color: maroon;}

/* 7个普通元素、一个属性选择符、两个其他选择符,结果是0,0,1,7 */

li#answer {color: navy;}

/* 一个ID选择符,一个普通选择符,结果是0,1,0,1 */

——后者胜出

从这里可以总结一个整体的规则即 id>class>普通元素 , 同类选择符条件下层级越多的优先级越高。

除了上面的specificity还有一些其他规则

◎ 文内的样式优先级为1,0,0,0,所以始终高于外部定义。这里文内样式指形如

blah

的样式

https://www.jianshu.com/p/f885df5665d9

CSS样式优先级计算方法相关推荐

  1. CSS样式优先级——不止“就近原则”那么简单

    CSS样式优先级 CSS是Cascading Style Sheets的全称,中文译为层叠样式表.关键字"层叠"体现在--页面中的元素往往是多个样式属性叠加在一起作用后的效果. 那 ...

  2. css样式优先级规则总结

    CSS样式优先级规则共有4点 1)不同类型css选择器,优先级总是符合如下规则 内联样式 > ID 选择器 >伪类 > 属性选择器 > 类选择器 >元素(类型)选择器 & ...

  3. CSS样式优先级及选择器

    css样式优先级: 样式的结构顺序:外部样式>内部样式>行内样式 样式的最终显示结果:以就近原则为准 css样式选择器: 1.标签选择器: 例:h/p/span/input/div/a{ ...

  4. 怎么排列html的顺序,css样式优先级及层叠的顺序排序探讨

    一般情况下: [1位重要标志位] > [4位特殊性标志] > 声明先后顺序 !important > [ id > class > tag ] 使用!important可 ...

  5. CSS样式优先级顺序详解

    CSS样式优先级详解 这里有一篇对CSS样式的优先级顺序进行解释的,讲的挺详细的,写的不错.大家可以参考这一篇: https://juejin.im/post/5f0eae715188252e3c4d ...

  6. css样式优先级问题

    此片博客为参考博客,更多详情可看:https://www.cnblogs.com/ombre/p/7418667.html 官方表述的CSS样式优先级如下: 通用选择器(*)<元素(类型)选择器 ...

  7. 强制改变css样式优先级

    1:!important作用是提高指定CSS样式规则的应用优先权.在CSS中,通过对某一样式声明! important ,可以更改默认的CSS样式优先级规则,使该条样式属性声明具有最高优先级,也就是相 ...

  8. 何为CSS 样式优先级

    当创建的样式表越来越复杂时,一个标签的样式将会受到越来越多的影响,这种影响可能来自周围的标签,也可能来自其自身.下面我们从这两方面去看看 CSS 样式的优先级. CSS 的继承性 CSS 的继承特性指 ...

  9. html 样式优先级,CSS样式优先级

    ##### 一.CSS样式选择器优先级 ID选择器(形如#divMain{}) > 类(形如.divSpecial{}) > 标签(形如body{}) ##### 二.CSS文件的优先级 ...

最新文章

  1. Linux命令screen—终端切换,工作环境保存,画面同步,防断网
  2. Facebook爆锤深度度量学习:该领域13年来并无进展!网友:沧海横流,方显英雄本色...
  3. 泊松分布的分布函数_第114讲 SAS泊松分布与泊松回归
  4. Dancing Links
  5. boost::spirit模块实现将由某个分隔符分隔的任意键/值对解析为 std::vector的测试程序
  6. 程序员小测试:保守派 vs 自由派
  7. c语言复数的运算实验报告,C语言复数的运算(实验报告).doc
  8. 使用Jersey跨服务器上传图片 报405 Method Not Allowed错误
  9. python备份发包脚本_用Python写脚本,实现完全备份和增量备份的示例
  10. async spring 默认线程池_SpringBoot中Async异步方法和定时任务介绍
  11. Python学习入门基础教程(learning Python)--5 Python文件处理
  12. BZOJ-2257 瓶子和燃料 分解因数+数论方面乱搞(裴蜀定理)
  13. 如何从Unity商店下载资源?
  14. StyleGAN图像风格转换相关经典论文、项目、数据集等资源整理分享
  15. android模拟器电视,Android TV开发之模拟器的设置
  16. Skiller V3
  17. 自然语言处理(NLP)之路——概念理解——从 Google translate 的 seq2seq 看自然语言处理(NLP)的发展
  18. neutron组网规划(flat、vlan类型)
  19. [轻松一下] 大热天的宿舍太热了,来网吧敲代码
  20. jQuery的介绍与使用方式

热门文章

  1. Linux - 生产故障、性能评估面试题
  2. 2023CAEE塑料焊接技术与设备展览会
  3. Python 迭代器(Iterator)
  4. 【操作系统】调度算法(FCFS、SJF、HRRN、RR、优先级调度、多级反馈队列)
  5. newifid1网页服务器,Newifi D1或 D2在Openwrt中,启用硬件NAT,启用BBR
  6. 如何在PPT里绘制具有科技感的色块?
  7. html获取选中复选框的值,获取html复选框列表选中的值隐藏字段
  8. sql语句中select、from、join on、where、order by、group by、limit手写顺序以及机读顺序
  9. 谷歌助手要如何与homekit的Siri竞争呢?
  10. 泛微E9表单建模查询列表批量文件下载