1

我想为一个 div 设置一个特定的字体系列,但我希望它的孩子保持默认属性。这可能吗?

4

3 回答 3

1

您不能,因为如果内部元素本身没有为特定属性设置任何值,那么如果该属性在 CSS 规范中使用“Inherited: yes”定义,它将不可避免地从其父级继承。从本质上讲,这就是继承的概念。

在很多情况下,作者确实希望保留属性的默认值,因为默认值取决于浏览器并且通常不合适(例如,最常见的默认值font-familyis Times New Roman)。

有可能您实际上的意思是其他东西,例如保留在样式表中其他地方设置的属性值。那将是一个完全不同的问题,答案是这会自动发生。如果事情似乎不是这样,原因可能是对级联的误解。如果您有一个设置了某些属性的元素,那么无论您为封闭元素span设置什么值,都会应用该值。div但是span元素不会从body元素继承属性,例如,除非可能是间接的(通过div元素)。

假设您真的想保留元素内部元素的默认值,div下面是我在一个小的动手练习页面(用于玩 CSS)上的操作方式。有一个div包含一些示例内容,要设置样式,并且在开始时,它必须显示为无样式(外部尺寸和边框除外div)。我这样做只是为了将页面上的所有其他内容分组到具有特定class属性的容器内。然后我简单地设置页面的所有CSS 设置,以便所有选择器都包含该类的类选择器。这有点笨拙,但很简单。

于 2012-06-05T07:19:45.690 回答
0

设置元素的样式并为所有子元素重置它:

#div {
  font-family: 'Inconsolata';
}

#div > * {
  font-family: sans-serif;
}
于 2012-06-05T06:08:21.437 回答
0

我认为如果不为内部元素定义样式,CSS 中就没有这种可能性

于 2012-06-05T06:08:51.657 回答