soy Kseso y esto EsCSS

La propiedad ALL y 3 palabras mágicas: initial, inherit y unset.

La propiedad "all" de css: para librarte de la cascada y herencia con una sola declaración.

La propiedad ALL y 3 palabras mágicas: initial, inherit y unset.

·Por Kseso ✎ 5

Actualización. Artículo publicado originalmente el 4 de Enero de 2013.

herecncia y cascada Css. La propiedad ALLSi algo había de cierto en Css es que nada se escapaba a la herencia y la cascada. Su brazo es mucho más largo que la ley (especialmente la española con según quienes) y pasa como la gravedad: podrás conocerla o ignorarla, pero si te sueltas estando colgado nada ni nadie te libra del piñazo.

Actualizado al documento "CSS Cascading and Inheritance Level 3", "W3C Candidate Recommendation" del 3 de Octubre de 2013.

Los cambios quedan precedidos por la leyenda ACTUALIZACIÓN

Otra ley universal es que ante un important! sólo tenías un camino: otro important! con un selector más específico.

Estas cuestiones se vuelven más peliagudas y preocupantes en las webs modulares. Y para lidiar con la herencia y la cascada de Css te encuentras con que muchos autores llenan todas sus declaraciones con su important! correspondiente. Ejemplos hay a montones en muchos "widgets" o "plugins" de plataformas como blogger, wordpress...

Todo lo anterior, como el frotar, se va a acabar.

Reseteo Herencia y cascada: la propiedad "all"

En documento "CSS Cascading and Inheritance Level 3" (3 de Enero 2013, status: working draft) introduce la propiedad all.
Y la definición que hace de ella es tan sencilla como:

The ‘all’ property is a shorthand that resets all CSS properties. It only accepts the CSS-wide keywords.
La propeidad "all" es la forma acortada que resetea todas las propiedades CSS. Sólo acepta las palabras clave universales de CSS*.

ACTUALIZACIÓN: Quedan excluidas las propiedades unicode-bidi y direction. Estas dos no se ven afectadas por la propiedad 'all'.

Bienvenido sea este "anillo único" para somerter a todas las propiedades en una sola declaración.

CSS-wide keywords

* Antes de seguir, yo he optado por utilizar el término "universal" en la expresión "CSS-wide keywords".
¿Qué son las "CSS-wide keywords"?
En el documento candidato a recomendación las define como las tres palabras clave que aceptan todas las propiedades en su valor.

tabla definición propiedades css Estos valores pueden ser tres:

initial
Cada propiedad tiene un valor inicial, definido en la tabla que define la propiedad. Si el valor en cascada es la palabra clave "initial", ese valor primero en la tabla de la propiedad se convierte en su valor especificado.
Tiene un significado distinto según se trate de propiedades heredadas o no heredadas.
En las heredadas el valor "initial" sólo aplica al elemento raíz (al que se le declara el valor) y en las no heredadas a todos los elementos: declarado y descendientes.
inherit
En aquellas propiedades que admiten ser heredadas de padres a hijos, es el valor que se aplica al hijo para dicha propiedad si no la tiene declara, excepto que se vea afectado por la cascada.
ACTUALIZACIÓN:
La palabra clave 'default' desparece como valor y se incluye el valor 'unset'
default
Si se utiliza esta palabra clave en una propiedad, se anula cualquier valor que por cascada o herencia le correspondería al elemento. El valor computado es el inicial de esa propiedad y se crea un punto cero para la cascada.
Unset
Este valor tiene un doble significado. En aquellas propiedades cuyo valor sí se hereda equivale al valor 'inherit' y en las propiedades que no se hereda su valor equivale a 'initial'.

Esta nueva propiedad junto a style scoped prometen ser una buena herramienta para evitar código y trabajo.

avatar del Editor del blog

the obCSServer ᛯ 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 Kseso