CSS2.1 中规定了关于 CSS 规则 Specificity(特异性)的计算方式,用一个四位的数字串(注:CSS2 中是用三位)来表示,最后以 Specificity 的高低判断 CSS 的优先权。
Specificity 具体的计算规则:
元素的 style 样式属性,加 1,0,0,0。
每个 ID 选择符(#id),加 0,1,0,0。
每个 class 选择符(.class)、每个属性选择符(例 [attr=”"] )、每个伪类(例 :hover),加 0,0,1,0。
每个元素或伪元素(例 :firstchild)等,加 0,0,0,1。
其他选择符(例 全局选择符 *,子选择符 >),加 0,0,0,0。
最后逐位相加数字串,得到最终的 Specificity 值,按照从左到右的顺序逐位比较。
除了 Specificity 还有一些其他规则:
!important 声明的规则高于一切,如果 !important 声明冲突,则比较优先权。
如果优先权一样,则按源码中“后来者居上”的原则。
由继承而得到的样式属性不参与 specificity 的计算,低于一切其他规则(例 全局选择符 * )。
范例分析:
h1 {color: red;}/* 只有一个普通元素加成,结果是 0,0,0,1 */ body h1 {color: green;}/* 两个普通元素加成,结果是 0,0,0,2 *//*0,0,0,1 小于 0,0,0,2 ,后者胜出*/ h2.grape {color: purple;}/* 一个普通元素、一个class选择符加成,结果是 0,0,1,1*/ h2 {color: silver;}/*一个普通元素,结果是 0,0,0,1 *//*0,0,1,1 大于 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 *//*0,0,1,7 小于 0,1,0,1,后者胜出*/
--引自http://www.cnblogs.com/Hotcocoa/articles/2104147.html
补充:
important的用法:
例如:
#a{margin-left:30px!important; margin-left:20px;}
相关推荐
本实例将深入探讨CSS样式的优先级比较,帮助你更好地理解和控制页面的视觉呈现。 首先,我们需要了解CSS选择器的权重计算规则。CSS选择器的权重分为四类:内联样式、ID选择器、类选择器/属性选择器/伪类、以及元素...
CSS优先级是指当多个样式规则同时作用于同一个HTML元素时,决定哪个样式规则最终被应用的规则体系。了解并掌握CSS优先级对于解决样式冲突问题至关重要。 ##### 1. 大小写不敏感性 CSS属性名和值不区分大小写。例如...
重要声明是CSS样式规则中最高的优先级。它可以覆盖其他任何样式规则。例如: div { color: blue !important; color: green; } 在上面的例子中,即使按照顺序应该是使用绿色,但是因为!important的缘故,所以最后...
在多个CSS规则应用于同一元素时,理解CSS优先级至关重要,因为它决定了哪个样式会生效。这个概念对于创建美观且功能完备的网页至关重要。 首先,我们来探讨CSS优先级的基本原则: 1. 继承性:当一个元素没有明确的...
CSS优先级总结是一个非常重要的知识点,它决定了CSS样式的应用顺序和优先级。在CSS中,优先级是指样式规则的应用顺序,高优先级的样式规则将覆盖低优先级的样式规则。 在CSS中,有多种选择器可以用来指定样式规则,...
在这个“【HTML】18样式优先级.rar”压缩包中,我们可以期待学习关于CSS样式的优先级规则,这是在设计网页时至关重要的一个概念。 样式优先级是决定哪个CSS样式将应用于HTML元素的关键因素。这关系到如何控制元素的...
CSS优先级是网页设计中一个至关重要的概念,它决定了浏览器如何解析和应用样式规则,从而影响页面元素的呈现。在深入探讨优先级之前,我们先简单回顾一下CSS的基础。CSS,全称为层叠样式表(Cascading Style Sheets...
CSS优先级计算规则是网页设计与开发中的一个基础知识点,它决定了当多个CSS规则应用于同一元素时...在实际开发中,合理利用CSS优先级规则,可以帮助开发者更有效地控制样式的应用和覆盖,从而达到预期的网页设计效果。
CSS样式应用优先级是网页设计中的关键概念,它决定了哪些样式会最终被浏览器应用到HTML元素上。在处理CSS冲突时,理解这个优先级规则至关重要。以下是对PPT内容的详细解释: 1. **重要声明 (!important)**: `!...
假设有一个HTML文档和CSS,其中链接样式在多个规则中被定义: ```html <a href="#" class="link" id="unique-link">Click Here ``` ```css /* 默认链接样式 */ a { color: blue; } /* 类选择器 */ .link { color:...
首先,让我们理解CSS样式的优先级。优先级由四个部分组成,每个部分代表一个特定的选择器类型: 1. **内联样式** (例如,`<element style="...">`),其特殊性为[1.0.0.0]。 2. **ID选择器** (例如,`#example`),...
6. **内联样式**:HTML标签内的`style`属性总是具有最高的优先级,超过了外部CSS文件或内部样式表中的任何选择器。 7. **!important**:标记为`!important`的CSS声明具有最高的优先级,可以覆盖其他所有规则,包括...
### CSS特异性:掌握样式优先级的艺术 在前端开发领域,CSS(层叠样式表)是一种必不可少的语言,它用于描述网页...通过本文的学习,希望读者能够在自己的项目中更加自信地处理CSS样式冲突,提升开发效率和代码质量。
CSS 链接规范指的是在 HTML 代码中链接 CSS 样式文件的方式。一般来说,CSS 文件应使用相对路径或绝对路径连接。 10. CSS hack CSS hack 是指使用特殊的 CSS 代码来解决浏览器之间的兼容性问题。 11. JS 调用规范 ...
在CSS中,选择器的优先级是决定样式应用的关键因素,尤其在多个选择器同时作用于同一元素时。本文将详细解析CSS选择器优先级的实战应用,帮助开发者理解并解决样式覆盖的问题。 首先,我们要了解CSS选择器的四种...
首先,给大家看一篇关于CSS优先级的示例 复制代码代码如下: <span xss=removed><html> <head> <style type=”text/css”> #redP p { /* 权值 = 100+1=101 */ color:#F00; /* 红色 */ } #redP .red...
在CSS(层叠样式表)中,样式可以以多种方式导入到HTML文档中,每种方式都有其特定的优先级。了解这些导入方式及其优先级对于优化和控制页面的样式表现至关重要。以下是对CSS导入方式及优先级的详细阐述: 1. **...
5. **CSS优先级**:理解CSS的优先级规则(内联样式 > ID选择器 > 类选择器 > 标签选择器)对于确保自定义样式生效至关重要。 在实践中,通过深入研究"CSS Reference Chart for SharePoint 2007",你可以: 1. **...
CSS样式可以通过四种主要方式添加到HTML元素上:内联样式(inlinestyle)、嵌入样式(embededstyle)、外部样式(externalstyle)以及用户样式(userstyle)。 内联样式直接嵌入在HTML元素内部,通常通过元素的...