是否有可能没有CSS规则继承?

时间:2015-08-25 15:51:02

标签: css

所以我在body选择器中使用此规则:

body {
  text-align:center
}

它继承了我使用文本的所有地方。有没有办法告诉CSS我希望此规则继承?

我只想让身体居中。

2 个答案:

答案 0 :(得分:8)

  

它会逐渐降低到我使用文本的任何地方。

不,它没有。它是继承的。级联描述了如何应用与给定元素匹配的多个规则集,而不是如何从父元素复制值。

  

有没有办法告诉CSS我不希望这个规则级联?

停止继承的唯一方法是将属性的值设置为您不想继承它的元素上的inherit以外的值。

例如,您可以将身体的所有子元素设置为左侧(使用a child combinator

body > * {
    text-align: left;
}

尽管如此,通过不首先将内联内容直接放入体内,可能会更好地解决问题。

将内容放在容器元素中(如果没有更好的语义,则为div),然后将该元素的内容置于中心位置。

答案 1 :(得分:5)

这样做:

body {text-align: center;}       /* Apply to Body */
body > * {text-align: initial;}  /* Reset all styles */

AFAIK,默认值text-aligninherit,这使得上述代码已过时。所以,你可以添加这样的东西:

body {text-align: center;}       /* Apply to Body */
body > * {text-align: left;}     /* Reset all styles */