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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2501723/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-29 21:46:52  来源:igfitidea点击:

CSS "color" vs. "font-color"

css

提问by Fred Wilson

Anyone know why CSS provides colorfor text, but does not have font-coloror text-color?

任何人都知道为什么 CSS 提供color文本,但没有font-colortext-color

Seems very counter-intuitive, kind of like text-decoration: underlinerather than font-styleor something related to fonts.

似乎非常违反直觉,有点像text-decoration: underline而不是font-style与字体相关的东西。

Does anyone know why/how the W3C came up with such a wide array of CSS names like this?

有谁知道 W3C 为什么/如何想出如此广泛的 CSS 名称?

采纳答案by MisterZimbu

I would think that one reason could be that the color is applied to things other than font. For example:

我认为一个原因可能是颜色应用于字体以外的东西。例如:

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

Yields both a red font color and a red border.

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

Alternatively, it could just be that the W3C's CSS standards are completely backwards and nonsensical as evidenced elsewhere.

或者,这可能只是 W3C 的 CSS 标准完全落后和荒谬,正如其他地方所证明的那样。

回答by Robusto

The same way Boston came up with its street plan. They followed the cow paths already there, and built houses where the streets weren't, and after a while it was too much trouble to change.

波士顿以同样的方式提出其街道计划。他们沿着已经在那里的牛道,在没有街道的地方盖房子,过了一段时间,改变起来太麻烦了。

回答by quasi

I know this is an old post but as MisterZimbu stated, the colorproperty is defining the values of other properties, as the border-colorand, with CSS3, of currentColor.

我知道这是一个老的文章,但作为MisterZimbu陈述,color属性定义其他属性的值,因为border-color并与CSS3的currentColor

currentColoris very handy if you want to use the font color for other elements (as the background or custom checkboxes and radios of inner elements for example).

currentColor如果您想将字体颜色用于其他元素(例如,作为内部元素的背景或自定义复选框和收音机),则非常方便。

Example:

例子:

.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>