我被介绍到以下代码:
<!DOCTYPE html>
<html>
<head>
<style>
span {
color: blue;
border: 1px solid black;
}
.extra span {
color: inherit;
}
</style>
</head>
<body>
<div>
Here is <span>a span element</span> which is blue, as span elements are set to be.
</div>
<div class="extra" style="color:green">
Here is <span>a span element</span> which is green, because it inherits from its parent.
</div>
<div style="color:red">
Here is <span>a span element</span> which is blue, as span elements are set to be.
</div>
</body>
</html>
链接: https ://www.w3schools.com/cssref/tryit.asp?filename=trycss_inherit
我不确定为什么额外跨度的颜色是绿色。当他们使用“继承”值时,他们是否采用与第一个引入的颜色相似的颜色?是这样吗?
这里的“父母”和“孩子”指的是什么?他们的定义是什么?
原文由 UnorthodoxThing 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于
<span></span>
元素嵌套在它们的“父”<div></div>
元素中,因此它们被称为“父”div 的“子代”。这 3 个 span 是父 div 的子元素,并且是彼此的兄弟姐妹。很像一个家庭。当子项从其父项继承样式时,它使用与其父项相同的样式用于该特定样式。
意味着在为 span 分配颜色时,它将遵循父颜色,在本例中为绿色。