我想为一个 div 设置一个特定的字体系列,但我希望它的孩子保持默认属性。这可能吗?
3 回答
您不能,因为如果内部元素本身没有为特定属性设置任何值,那么如果该属性在 CSS 规范中使用“Inherited: yes”定义,它将不可避免地从其父级继承。从本质上讲,这就是继承的概念。
在很多情况下,作者确实希望保留属性的默认值,因为默认值取决于浏览器并且通常不合适(例如,最常见的默认值font-family
is Times New Roman
)。
有可能您实际上的意思是其他东西,例如保留在样式表中其他地方设置的属性值。那将是一个完全不同的问题,答案是这会自动发生。如果事情似乎不是这样,原因可能是对级联的误解。如果您有一个设置了某些属性的元素,那么无论您为封闭元素span
设置什么值,都会应用该值。div
但是span
元素不会从body
元素继承属性,例如,除非可能是间接的(通过div
元素)。
假设您真的想保留元素内部元素的默认值,div
下面是我在一个小的动手练习页面(用于玩 CSS)上的操作方式。有一个div
包含一些示例内容,要设置样式,并且在开始时,它必须显示为无样式(外部尺寸和边框除外div
)。我这样做只是为了将页面上的所有其他内容分组到具有特定class
属性的容器内。然后我简单地设置页面的所有CSS 设置,以便所有选择器都包含该类的类选择器。这有点笨拙,但很简单。
设置元素的样式并为所有子元素重置它:
#div {
font-family: 'Inconsolata';
}
#div > * {
font-family: sans-serif;
}
我认为如果不为内部元素定义样式,CSS 中就没有这种可能性