css中元素样式既能从父层继承,也有层叠的规则,那么,如果有如下代码,其在浏览器内会如何显示呢?
.warning { color: red; }
p { color: green; }
<p class=”warning”>层叠和继承的规则如何实现?</p>
此代码在浏览器中的显示为红色,这是由于类选择器“warning”和类型选择器“p”的“特殊性”不同,具体原理如下:
特殊性 (specificity)描述了不同选择器的相对权重(weight)。一个选择器的特殊性是这样计算的:
·如果CSS属性是通过 (X)HTML元素的style属性定义的,则记为a=1,否则记为0;
由于style属性是写在(X)HTML标签内的,因此不存在选择器, 所以:a=1, b=0, c=0, 且 d=0;
·计算选择器中ID选择器的数量,计为b;
·计算选择器中类选择器、属性选择器和 伪类的数量,计为c;
·计算选择器中类型选择器的数量,计为d;
·忽略伪元素。
将这4个数字 (a, b, c, d)相连(数字进制要以大的为准),得到特殊性。例如:
{ …… } 特殊性 = 0, 0, 0, 0
li { …… } 特 殊性 = 0, 0, 0, 1
ul li { …… } 特殊性 = 0, 0, 0, 2
ul ol+li { …… } 特 殊性 = 0, 0, 0, 3
h1 + [rel="up"] { …… } 特殊性 = 0, 0, 1, 1
ul ol li.warning { …… } 特 殊性 = 0, 0, 1, 3
li.menu.level { …… } 特殊性 = 0, 0, 2, 1
#x34y { …… } 特 殊性 = 0, 1, 0, 0
<p styel=”……”> 特殊性 = 1, 0, 0, 0
特殊性高的规则会取代特殊性低的规则,无论其书写的先后顺序如何,例如:
h1 {color red;} 0,0,0,1
body h1 {color green;} 0,0,0,2 (胜 出)
或者:
h2.grape {color purple;} 0,0,1,1 (胜出)
h2 {color silver;} 0,0,0,1
在特殊性的框架下,继承的特殊性为“0”。也就 是说,任何显式的规则声明都会覆盖掉继承的样式,例如有如下代码:
em { color: blue; }
p.list { color: gray; }
<p class="list"& gt;继承的特殊性为<em>“0”</em>。</p>
虽然“p.list”的特殊性为“0, 0, 1, 1”,但是,对“em”的color声明还是会覆盖掉从“p.list”继承的color样 式
因此,如果需要让p内的em能呈现和p一样的颜色,则需要如下定义:
p.list,
p.list em { color gray; }
转自:http://hi.baidu.com/lansesansan/blog/item/37e0518d5b5689e2f01f3634.html
分享到:
相关推荐
在CSS(层叠样式表)的设计...综上所述,CSS中的继承关系是前端开发中不可或缺的一部分,它简化了样式设置过程,增强了代码的可维护性和一致性。理解并熟练掌握继承机制,对于提升网页设计的效率和质量具有重要意义。
### CSS层叠样式表:深度解析与应用 #### 一、CSS简介与重要性 CSS,全称为Cascading Style Sheets(层叠样式表),是由W3C组织制定的用于控制网页元素显示规则的一种强大技术。它允许网页设计者不仅能够高效地...
**CSS层叠样式表中文手册**是一份详细且全面的指南,旨在帮助用户理解和掌握CSS(Cascading Style Sheets)这一强大的网页设计语言。CSS是用于控制网页元素外观和布局的关键技术,它允许设计师分离内容与表现,使...
3. **层叠与继承**:CSS的“层叠”特性决定了当多个样式规则应用于同一元素时,哪些规则会生效。继承则是子元素可以继承父元素的部分样式。 **CSS的主要功能** 1. **布局控制**:CSS可以控制元素的尺寸(width, ...
CSS层叠(Cascade)和继承(Inheritance)是CSS样式应用中的两个核心概念,它们决定了元素如何获取和处理样式规则。理解这两个概念对于创建一致且可预测的网页布局至关重要。 1. **层叠** 层叠是CSS处理多个样式...
最后,《5日精通CSS层叠样式表》可能是另一本快速学习教程,旨在帮助读者在较短的时间内熟练掌握CSS的核心概念和实践技巧。 综合这三个资源,学习者将获得全面的DIV+CSS知识,从基础到进阶,从理论到实践,一步步...
**CSS层叠样式表手册详解** CSS(Cascading Style Sheets)层叠样式表是用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的样式表语言。CSS使得网页设计者可以将样式与结构分离,提高了网页的可读性、...
CSS(Cascading Style Sheets)层叠样式表是用于控制网页外观和格式的标记语言,它通过继承性、特殊性、层叠性和重要性这四个核心特性来决定样式应用的优先级和规则。 继承性是指一些CSS属性可以被子元素继承,也...
了解CSS的继承与层叠,可以帮助开发者更加精确地控制网页的样式表现,避免不必要的样式冲突,并有效减少重复代码,提升CSS代码的效率和可读性。在编写CSS时,合理利用这两个特性能够使样式系统更加清晰,有助于网站...
总之,理解CSS层叠和继承的概念及其工作原理,可以帮助开发者更好地控制网页的样式,避免样式冲突,提升页面设计的可维护性和一致性。通过巧妙地运用层叠和继承,可以创建出灵活且响应式的网页设计。
CSS层叠性和继承性是CSS样式表中的核心概念,它们决定了元素如何呈现样式。层叠性(Cascading)指的是当一个元素有多个样式规则时,浏览器如何决定使用哪个规则来呈现样式。继承性则是指子元素可以从父元素那里继承...
以上只是CSS层叠样式表的基础知识和一部分高级应用,深入学习还包括理解CSS的最新特性、最佳实践以及浏览器兼容性问题。通过持续实践和学习,可以掌握CSS,从而创建出美观、高效且易于维护的网页设计。
本文全面解析了 CSS 中有关元素隐藏、继承属性、层叠规则以及不同显示类型的概念与用法。主要内容包含了 CSS 属性是如何遗传的,哪些常见属性能够从祖先继承,如何解决多重样式的冲突并理解 CSS 权重机制;阐述了 ...
《5日精通CSS层叠样式表》是一本旨在帮助读者快速掌握CSS核心技术的教程。CSS,全称为Cascading Style Sheets,是用于...《5日精通CSS层叠样式表》提供的实例和练习将确保理论知识与实践操作相结合,使学习更加高效。
《5日精通CSS层叠样式表》是一本旨在帮助读者快速掌握CSS(Cascading Style Sheets)技术的电子书。CSS作为网页设计的核心部分,它允许我们实现丰富的视觉效果,控制网页元素的布局和样式。在短短五天的学习中,本书...
这套资料包括两部分:《CSS 2 中文手册》和《5日精通CSS层叠样式表》。 《CSS 2 中文手册》是CSS 2规范的中文版,它详细阐述了CSS 2的所有特性和语法,是理解CSS基础的必备参考资料。CSS 2是CSS的第二个版本,发布...