剖析CSS规则之执行顺序
创始人
2024-07-11 15:30:52
0

你对CSS规则的执行顺序是否了解,这里和大家分享一下,若两条规则具有相同的权值、起源及特殊性,那在样式表中最后出现的规则优先。

CSS规则的执行顺序

1、CSS规则之特殊性

首先来看一下这个例子将会发生的情形:

程序代码

  1. .grape{color:Blue;}H1{color:Red;}  
  2.  
  3. Meerkat  
  4. Central  
  5.  
  6.  
  7.  

H1和.grape都匹配上面的H1元素,那么到底应该使用哪一个呢?实践证明.grape是正确答案,把句子显示为蓝色。根据规范,一般的HTML元素选择符(H1,P等)具有特殊性:

1,类选择符具有特殊性10,ID选择符具有特殊性100,值越大权重就越大,就优先选用。

程序代码

  1. H1{color:Red;}/*特殊性=1*/PEM{color:Blue;}  
  2.  
  3. /*特殊性=2*/.grape{color:Fuchsia;}  
  4.  
  5. /*特殊性=10*/P.bright{color:Yellow;}  
  6.  
  7. /*特殊性=11*/P.brightEM.dark{color:Gray;}  
  8.  
  9. /*特殊性=12*/#ID01{color:Red;}  
  10.  
  11. /*特殊性=100*/  
  12.  

2、CSS规则之继承

在特殊性的框架下,被继承的值具有特殊性0,也就是说任何显式声明的规则将会覆盖其继承样式,即便这条规则具有多高的权重。

程序代码

  1. H1#ID01{color:Red;}  
  2.  
  3. /*特殊性=101*/EM{color:Gray;}  
  4.  
  5. /*特殊性=1*/ 
  6.  
  7. Meerkat 
  8.  
  9.  
  10.  
  11.  

虽然ID选择符特殊性最高,但由于在特殊性的框架下,继承值只有特殊性0,因些Central会显示为Gray颜色。

3、CSS规则之STYLE元素

还有sytle元素在CSS下权值定义为100,尽管ID选择也一样,实际上style元素比ID具有更高的特殊性。

程序代码

  1. #ID01EM{color:Gray;}  
  2.  
  3. Meerkat  
  4.  
  5.  
  6.  
  7. Central 
  8.  

会显示为red颜色。

4、CSS规则之重要性(!important)

!important具最高特特性比如说1000,因此!important规则会覆盖内联STYLE属性的内容。程序代码
H1{color:red!important;}MeerkatCentral!

将显示为RED颜色。一种特殊情形

程序代码

  1. P#warn{color:Red!important;}EM{color:Black;}  
  2.  
  3. Thistextisred,but 
  4.  
  5. emphasizedtextisblack. 
  6.  
  7.  

虽然定义!important最高特殊性,但句子并没有全部显示为RED红色,为什么呢?也许我们得回头看看前面的规则,在前面的第二点继承中提“在特殊性的框架下,继承值只有特殊性0。”因此即便定义!important,继承里的特殊性也只有0,所以显示为特殊性为1的EM规则。权重顺序为:继承=>HTML普通选择符=>类选择符=>style元素=>!important

5、CSS规则之层叠

1)若两条规则具有相同的权值、起源及特殊性,那在样式表中最后出现的规则优先。

2)任何位于文档中的规则都比引入的规则优先。

【编辑推荐】

  1. CSS Sprites工作原理及优缺点
  2. CSS层叠与继承用法手册
  3. DIV布局规范中CSS类及id命名方式
  4. CSS网页布局中id与class命名规则
  5. 将XHTML+CSS页面转换为打印机页面技巧

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...