嵌套元素时覆盖em字体大小

For*_*low 4 css overriding font-size

当嵌套元素时,如何覆盖font-size属性?使用!important似乎没有任何效果.

div {
    font-size:6em;  
}
p {
    font-size:1em !important;
}
span {

    font-size:1em;
}
Run Code Online (Sandbox Code Playgroud)

-

<html>
<body>
    <div><span>span</span><p>paragraph</p></div>
</body>
</html>?
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/dvUTQ/

dmz*_*zza 13

Em是与其父元素相对的大小.

http://jsfiddle.net/dvUTQ/3/

div#small {
  font-size:2em; 
}
div#big {
  font-size:6em;
}
p {
  font-size:.5em; /* effective sizes: big: 3em, small: 1em */
}
span {
  font-size:2em; /* effective sizes: big: 12em, small: 4em */
}
Run Code Online (Sandbox Code Playgroud)

将子元素设置为1em只会使其与父元素的大小相同.在这种情况下,.5em对p有效地使它成为3em.

http://www.w3schools.com/cssref/css_units.asp


Jas*_*ies 5

除了dmzza的回答:!important只有当样式表中的选择器具有相互冲突的特性时,该规则才有效.

在你的情况下,没有冲突,所以!important规则不会有任何影响.

当您具有冲突的特异性时,最好为异常创建更具体的选择器.