2016-07-06 36 views
0

我有一个全局字体大小的地方,并使用一个不同的元素。我可以阻止风格规则被继承吗?

body { 
    font-size: 16px; 
} 

.parent { 
    font-size: 14px; 
} 

.parent元素我有几个孩子,我想从身体使用font-size: 16px这里面。有没有办法“跳过”一个可继承的声明。喜欢的东西:

font-size: 14px !dont-propagate;

将是相当不错的。 当然,我知道的变通办法,例如造型的孩子有font-size: 16px,或只将.parent的文本部分放入自己的容器中,并给出较小的字体大小。想想这个更大的东西的小例子,这使得这些选项不太理想。

+0

您应该为儿童使用'rem'。 – SLaks

+0

http://stackoverflow.com/q/35017462/483779 – Stickers

+0

'rem'很酷。但是,不仅字体大小被继承。问题是关于所有这些属性,比如'color'。 – GMchris

回答

2

编号

如果他们没有继承,那么他们根本没有任何价值。

没有办法从父元素以外的元素继承。

如果您希望它们的值不是inherit,100%,1em或其默认值是什么:您需要明确指定它。

可以使用rem单位采取从根元素的字体大小,所以你可以说:

html { font-size: 16px; } 
* { font-size: 1rem; } 
.parent { font-size: 14px; } 

注意,这可能有副作用,你不喜欢,如改变<input>字体大小和<small>元素。

+0

太糟糕了。看起来好像不应该让继承检查树直到找到它可以继承的值。 – GMchris