2014-02-28 43 views
2

鉴于以下CSS和HTML,有人可以解释为什么文章标签中的标题是红色的,我认为它应该是蓝色的,因为它们都具有相同的权重,但文章样式是在h4样式之后出现的所以应该重写h4风格。关于CSS特性的困惑

<html> 
<head> 
    <title></title> 

    <style> 
     h4 
     { 
      color:red; 
     } 

     article 
     { 
      color:blue; 
     } 
    </style> 
</head> 
<body> 
    <article> 
     <h4>Latest News</h4> 
    </article> 
</body> 
</html> 

回答

2

的更容易理解的方法:

<h4>更靠近文本比<article>,又都是元素选择,从而<h4>覆盖<article>

+1

我认为这个答案是最好的,非常好/简单的方法来说。 +1 – Ruddy

0

由于文章的蓝色属性与H4红色属性之间存在冲突,Web浏览器将始终选择“最接近”属性。
因此,在这种情况下,由于文本在H4内部,它具有红色属性,它将以红色显示文本,但是如果您在H4标签之外但在文章标签内部添加了其他文本,则文本将为蓝色。

3

特异性与此无关。在代码中,h4元素上只有一个规则集color,因此应用该设置。

如果该规则被省略,则h4将从其父项继承color。但是,对于元素的属性,当样式表为该元素的该属性设置值时,继承不会发生。即使在这里,特异性也不起作用。