Html 如何更改元素的css,但保留其默认值';孩子们

Html 如何更改元素的css,但保留其默认值';孩子们,html,css,Html,Css,我想为div设置一个特定的字体系列,但我希望它的子项保留默认属性。这可能吗?为元素设置样式,并为所有子元素重置样式: #div { font-family: 'Inconsolata'; } #div > * { font-family: sans-serif; } 为元素设置样式,并为所有子元素重置样式: #div { font-family: 'Inconsolata'; } #div > * { font-family: sans-serif; } 我认

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

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

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

#div > * {
  font-family: sans-serif;
}

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

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

#div > * {
  font-family: sans-serif;
}

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

在很多情况下,作者确实希望保留属性的默认值,因为默认值依赖于浏览器,并且通常不适合(例如,
字体系列
最常见的默认值是
Times New Roman

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


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

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

在很多情况下,作者确实希望保留属性的默认值,因为默认值依赖于浏览器,并且通常不适合(例如,
字体系列
最常见的默认值是
Times New Roman

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


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

这不是一个解决方案。级联继承的概念已经丢失,但没有重置,而是重新定义为“无衬线”。但是我没有纯css的其他解决方案,可能需要javascript/jquery。@odiszapc:如果你知道你要修改什么值以及它们是如何继承的,重置它们是很简单的。@AbbyChauYuHoi:我只是提供一个例子。CSS不可能存储默认值并在以后调用它们,因此如果OP可以访问重写属性的原始值,则重新定义它们并不复杂。这不是一个解决方案。级联继承的概念已经丢失,但没有重置,而是重新定义为“无衬线”。但是我没有纯css的其他解决方案,可能需要javascript/jquery。@odiszapc:如果你知道你要修改什么值以及它们是如何继承的,重置它们是很简单的。@AbbyChauYuHoi:我只是提供一个例子。CSS不可能存储默认值并在以后调用它们,因此如果OP可以访问被重写属性的原始值,则重新定义它们并不复杂。将子元素重写为默认属性如何?将子元素重写为默认属性怎么样?