CSS“颜色”与“字体-颜色”

有人知道为什么 CSS 为文本提供 color,但没有 font-colortext-color吗?

看起来非常反直觉,有点像 text-decoration: underline而不是 font-style或者与字体相关的东西。

有人知道 W3C 为什么/怎么想出这么多这样的 CSS 名字吗?

361797 次浏览

就像波士顿的街道规划一样。他们沿着已经存在的牛道走,在没有街道的地方建造房屋,过了一段时间,要改变这种情况实在是太麻烦了。

我认为其中一个原因可能是颜色不适用于字体。例如:

div {
border: 1px solid;
color: red;
}

产生红色字体颜色和红色边框。

或者,它可能只是 W3C 的 CSS 标准完全落后和无意义的证据在其他地方。

我知道这是一篇老文章,但是正如 MisterZimbu 所说,color属性定义了其他属性的值,如 border-colorcurrentColor的 CSS3。

如果您希望对其他元素使用字体颜色(例如内部元素的背景或自定义复选框和单选框) ,currentColor非常方便。

例如:

.element {
color: green;
background: red;
display: block;
width: 200px;
height: 200px;
padding: 0;
margin: 0;
}


.innerElement1 {
border: solid 10px;
display: inline-block;
width: 60px;
height: 100px;
margin: 10px;
}


.innerElement2 {
background: currentColor;
display: inline-block;
width: 60px;
height: 100px;
margin: 10px;
}
<div class="element">
<div class="innerElement1"></div>
<div class="innerElement2"></div>
</div>