CSS "color" frente a "font-color"

136

Alguien sabe por qué CSS proporciona colortexto, pero no tiene font-coloro text-color?

Parece muy contrario a la intuición, text-decoration: underlinemás font-styleo menos como algo relacionado con las fuentes.

¿Alguien sabe por qué / cómo surgió el W3C con una gama tan amplia de nombres CSS como este?

Fred Wilson
fuente
1
He comenzado una petición para introducir la propiedad "font-color". Quizás a algunos de ustedes les gustaría firmarlo. change.org/p/…
tsuma534
Puede hacerlo dentro de la etiqueta <font>. por ejemplo, <font color = "red"> Hello World! <font>
airider74
@ airider74 ¿En qué año vives? El elemento <font> ha quedado en desuso durante muchos años.
kojow7
Sí, tiene ... pero aún funciona
Airider74

Respuestas:

111

Creo que una razón podría ser que el color se aplica a otras cosas que no sean la fuente. Por ejemplo:

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

Produce un color de fuente rojo y un borde rojo.

Alternativamente, podría ser que los estándares CSS del W3C son completamente al revés y sin sentido, como se evidencia en otra parte.

MisterZimbu
fuente
44
Intente agregar lo siguiente al CSS en esta página: .post-text { color: blue; border: 1px solid red; }verá que el color del texto es azul aunque el color del borde sea rojo.
Robusto
entonces, por definición, font-color es más rápido que el color, ya que tiene que hacer menos trabajo.
kta
193

De la misma manera que Boston ideó su plan de calles. Siguieron los caminos de las vacas que ya estaban allí, y construyeron casas donde no estaban las calles, y después de un tiempo fue demasiado difícil cambiar.

Robusto
fuente
10

Sé que esta es una publicación anterior, pero como dijo MisterZimbu, la colorpropiedad está definiendo los valores de otras propiedades, como border-colory, con CSS3, de currentColor.

currentColor es muy útil si desea utilizar el color de fuente para otros elementos (como el fondo o casillas de verificación personalizadas y radios de elementos internos, por ejemplo).

Ejemplo:

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

cuasi
fuente
Creo que esto da aún más razones para tener una propiedad font-color/ text-colorpropiedad separada disponible. De esa manera, puede tener muchas partes del elemento con un color predeterminado en particular y el texto en otro si lo desea. De lo contrario, vincula el color predeterminado al color del texto.
Ben J
@BenJ La vinculación del color predeterminado al color principal fue probablemente la intención en los primeros días de la web. Hoy puede usar variables css ( developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables ) y / o usar un preprocesador css como Sass, Less, Stylus, etc., donde es fácil trabajar con variables.
cuasi