【问题标题】:Can I prevent a style rule from being inherited?我可以防止继承样式规则吗?
【发布时间】:2016-11-08 14:42:00
【问题描述】:

我有一个全局字体大小,以及一个使用不同字体的元素。

body {
  font-size: 16px;
}

.parent {
  font-size: 14px;
}

.parent 元素内,我有几个孩子,我想使用正文中的font-size: 16px。有没有办法“跳过”可继承的声明。比如:

font-size: 14px !dont-propagate;

拥有它会很不错。 当然,我知道一些变通方法,例如将孩子的样式设置为 font-size: 16px,或者仅将 .parent 的文本部分放入他们自己的容器中并赋予较小的字体大小。想想这个更大的小例子,这使得这些选项不太理想。

【问题讨论】:

  • 您应该为孩子们使用rem
  • rem 很酷。然而,不仅字体大小是继承的。问题是关于所有此类属性,例如color

标签: css


【解决方案1】:

没有。

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

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

如果您希望它们具有除inherit100%1em 或其他任何默认值之外的值:您需要明确指定它。

您可以使用rem 单元从根元素中获取字体大小,因此您可以说:

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

请注意,这可能会产生您不喜欢的副作用,例如更改 <input><small> 元素的字体大小。

【讨论】:

  • 太糟糕了。似乎在找到可以继承的值之前对树进行继承检查应该不会太难。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-05
  • 2011-07-02
  • 2021-05-13
  • 1970-01-01
  • 2018-03-07
  • 1970-01-01
相关资源
最近更新 更多