soy Kseso y esto EsCSS

Las variables Css ¿Son variables u otra cosa?

Las variables Css ¿Son variables u otra cosa?

·Por Kseso ✎ 4

Estuve actualizando algunos aspectos de mi artículo sobre las variables Css y me asaltó la duda de este artículo:
¿Son realmente variables lo que ahí se definen o ha sido una mala titulación del documento?

Css No define variables

Al menos lo que tradicionalmente se entiende por variable, que de forma muy general, y por tanto imprecisa podríamos decir que una variable es: Un dato que no es fijo, sino que su valor está en función de que se den unas condiciones u otras.

Si te has leído mi artículo sobre ellas recordarás cómo se declara una "variable css" en la hoja de estilos:

article { background: var(color_primario); color: var(color_secundario); }

Ahí declaramos en una regla dos supuestas variables: el fondo y el color. Pero los valores de ellas no están en función de cumplirse unos requisitos u otros, sino que símplemente aplica un valor que hemos definido al inicio de la hoja de estilos:

:root { var-color_primario: #06c; var-color_secundario: #f0f0f0; }

Si no son variables, ¿cómo llamarlas?

Herencia de valores predefinidos

Es sólo una opinión personal: estamos ante una herencia de valores predefinidos
El codificante aplica unos nombres a valores de ciertas propiedades (var-XXX) que le son más fáciles de recordar para usarlos en un momento dado en las declaraciones Css.

Ojo. No es poco. Creo que es más fácil recordar una palabra que un código hexadecimal (por ejemplo) y que en caso de necesitar cambiar dicho color en un sitio más o menos extenso no hay color entre cambiarlo una sola vez (donde declaras la variable css) que buscar y sustituirlo todas y cada una de las veces que se utiliza.

Y tú, ¿Qué opinas?

Pues eso. Que me gustaría saber tu opinión al respecto. Y seguro que los escasos lectores del blog también agradecen otros puntos de vista. Gracias.

Adenda

Me pasan este un interesante artículo de Glazou del 17 de Agosto (hoy mismo) "CSS Variables, why we drop the $foo notation". Y pese a que es sobre las razones que motivaron el cambio de sintaxis en las variables Css, una de las razones viene como anillo al dedo a este artículo.

First, the proposed spec is NOT about variables and I seriously wonder if we should not change the title of the document. You may call the feature it introduces "variables" but at the deeper level, that's not about variables. That about Inherited User-Defined Properties. Don't take that as some political correctness or a blurb hiding the reality of the feature. The spec is really about letting you define your own properties and reaching their cascaded values.

Vamos, que me quedo más ancho que alto :-)) xD

Actualización 2013

Desde el 12 de Marzo de 2013 el consorcio ha cambiado el título del documento que las desarrolla: CSS Custom Properties for Cascading Variables Module Level 1.

Y no sólo ha sido el título. En el cuerpo de este documentos (y sucesivos) las referencias aparecen como:

  • Defining Custom Properties: the ‘var-*’ family of properties
  • Using Cascading Variables: the ‘var()’ notation

avatar del Editor del blog

Ramajero Argonauta, Enredique Amanuense de CSS.
#impoCSSible inside
Dicen que, en español, EsCss es el mejor blog de CSS. Posíblemente exageren.
@Kseso EsCss Don Kseso Kseso