简而言之,我有一个具有这两种样式的页面:
* {
color: black;
}
div.error {
color: red
}
页面结构如下:
<html>
...
<div class="error">
<div class="row form">
<div class="column">
Error text.
</div>
</div>
</div>
...
</html>
您会期望“错误文本”是红色的,不是吗?但事实上,它在所有浏览器中都会呈现为黑色。这是预期的行为吗?
我的第二个问题取决于这是否是预期的行为。如果是的话,那么为什么设计师要把整个网站上的每个元素都涂上“黑色”或其他颜色,如果这意味着它不能在特定位置被继承覆盖呢?
--EDIT--
这个问题是在您希望在整个网站上放置默认颜色的上下文中提出的,但是无论您想要在哪里,您都可以说“整个部分继承了颜色#ffeeff”。例如,一个特殊的表单,包含在“表单”类的分隔符中。您不想用“white-text”之类的特殊类来标记表单的每个子元素,以将所有内容都着色为白色。您只想设置“form”类的颜色并将其传播到子元素。
*
比代理样式表(浏览器自带的默认样式表)更具体,继承的属性无非是这样的:
div {
/* ... */
color: inherit;
/* ... */
}
在代理样式表中,所以你的*
with color: black
比更具体agent:div
with color: inherit
,因此它获胜。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)