CSS "cor" vs. "fonte-cor"


136

Alguém sabe por que o CSS fornece colortexto, mas não possui font-colorou text-color?

Parece muito contra-intuitivo, text-decoration: underlinemais font-styleou menos como algo relacionado a fontes.

Alguém sabe por que / como o W3C criou uma ampla variedade de nomes CSS como este?


1
Eu iniciei uma petição para introduzir a propriedade "font-color". Talvez alguns de vocês gostariam de assinar. change.org/p/…
tsuma534

Você pode fazer isso dentro da tag <ul>. por exemplo, <font color = "red"> Olá, mundo! <
ul

@ airider74 Em que ano você está morando? O elemento <font> está obsoleto por muitos anos.
kojow7

Sim, tem ... mas ainda funciona
airider74

Respostas:


111

Eu pensaria que um dos motivos poderia ser que a cor seja aplicada a outras coisas além da fonte. Por exemplo:

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

Rende uma cor de fonte vermelha e uma borda vermelha.

Como alternativa, pode ser que os padrões CSS do W3C sejam completamente invertidos e sem sentido, como evidenciado em outros lugares.


4
Tente adicionar o seguinte ao CSS nesta página: .post-text { color: blue; border: 1px solid red; }Você verá que a cor do texto é azul, mesmo que a cor da borda seja vermelha.
Robusto 26/03

então, por definição, a cor da fonte é mais rápida que a cor, pois tem que fazer menos trabalho.
kta

193

Da mesma forma que Boston apresentou seu plano de rua. Eles seguiram os caminhos das vacas que já estavam lá e construíram casas onde as ruas não estavam, e depois de um tempo foi demais para mudar.


10

Eu sei que este é um post antigo, mas como MisterZimbu afirmou, a colorpropriedade está definindo os valores de outras propriedades, como oe border-color, com CSS3, de currentColor.

currentColor é muito útil se você quiser usar a cor da fonte para outros elementos (como fundo ou caixas de seleção personalizadas e rádios de elementos internos, por exemplo).

Exemplo:

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


Eu acho que isso dá ainda mais razões para ter uma propriedade separada font-color/ text-colordisponível. Dessa forma, você pode ter muitas partes do elemento com uma cor padrão específica e o texto em outra, se desejar. Caso contrário, vinculará a cor padrão à cor do texto.
21719 Ben Ben

@ BenJ Vincular a cor padrão à cor principal provavelmente foi a intenção nos primeiros dias da web. Hoje você pode usar variáveis ​​css ( developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables ) e / ou usar um pré-processador css como Sass, Less, Stylus, etc., onde é fácil trabalhar com variáveis.
quase
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.