为什么文本颜色属性称为“颜色”?

时间:2010-11-28 11:48:43

标签: css colors properties

在CSS中,为什么文本颜色是用color而不是text-colorfont-color定义的?

另外,font-text-之间有什么区别?

2 个答案:

答案 0 :(得分:9)

color属性不属于属性的字体或文本类别。它实际上存在于规范的各个部分,CSS1CSS2.1。甚至整个CSS3 module专用于颜色。

每个规范将color称为定义 foreground 颜色,然后将其描述为引用元素文本内容的颜色。但由于foreground-color会不必要地冗长,因此“前景”一词不在属性名称之内。 background-color不言自明,与color区别开来。

尽管如此,虽然color属性通常会影响元素的文本,但如果您还指定了边框但未指定border-color,则边框将采用与文本。这是完全正常的,因为它规定了in the CSS box model specification

  

如果未使用border属性指定元素的边框颜色,则用户代理必须使用元素的'color'属性的值作为边框颜色的计算值。

<div style="color: red; border: 1px dotted">
    This block has red text and a red 1-pixel dotted border.
    Notice only the width and style are specified in the style attribute.
</div>

Martin Algesten in his answer has a nice summary字体和文字属性之间的区别。

答案 1 :(得分:2)

字体字体的变体,即Arial是字体类型,Arial Bold是字体。你没有设置字体颜色(我从来没有听说过具有特定颜色的字体)。您正在设置文本的颜色。

我想这个想法是你可以拥有受color影响的其他元素,而不仅仅是文本。与text-decoration: underline比较显然会影响文字,但如果我们想象我们可以插入一个内联的随机形状,它也会受到color的影响。