优先级在css3中无法正常工作

时间:2017-02-04 10:29:51

标签: css

在下面的代码中,我将h1<aside>标记放在<article>标记上时,article选择器中定义的值始终覆盖aside in将<article>标记设置为子标记或父标记时的两种情况。

&#13;
&#13;
aside h4
{
 font-style:italic!important;
 color:yellow;
}
article h4
{
	color:black;
    font-style:normal;
}
&#13;
<article> 
  <aside>
    <h4>HEADING</h4>
  </aside>
</article>

<aside>
  <article>  
    <h4>HEADING</h4>
  </article>
</aside>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

h4始终为黑色的原因是因为CSS中的最后一条规则会覆盖以前的规则。

为什么最后一条规则不会使其font-style正常,因为之前的规则有!important,因此会覆盖任何后来定义的规则,除非它们当然也有{{1} }。

现在是否切换!important父项不会有任何区别,因为选择器之间有空格的规则(如h4)会影响任何子元素,无论嵌套有多深目标元素是。

aside h4
article h4
{
	color:black;
    font-style:normal;
}
aside h4
{
 font-style:italic;
 color:yellow;
}

答案 1 :(得分:0)

&#13;
&#13;
aside > h4
{
    font-style:italic!important;
    color:yellow;
}
article > h4
{
     color:black;
     font-style:normal!important;
}
&#13;
<article> 
    <aside>
         <h4>HEADING</h4>
    </aside>
</article>

<aside>
    <article>  
         <h4>HEADING</h4>
    </article>
</aside>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

$array = array('0' => "14254",'1' => "145245");
// I want to store this array value into normal single variable
// store array data to $string.
// something like this >> $string is  14254,145245