soy Kseso y esto EsCSS

CSS Style Attributes. La especificación del W3c

En español: la especificación "CSS Style Attributes" para declarar estilos en línea y un par de respuestas al porqué no se puede hacer según qué cosas por esta vía.

CSS Style Attributes. La especificación del W3c

·Por Kseso ✎ 9
CSS Style Attributes

Sí. Has leído bien. Después de lo pesado que soy con el uso correcto de la terminología en Css y abominar de quienes hablan de atributos Css y otros disparates por el estilo, voy ahora y pongo junto, y nada menos que en el título de un artículo, las tres palabras: CssStyleAttributes.

Y para más desconcierto, inicial, lo hago en base al documento del consorcio W3c con status de recomendación del mismo título.

No. No debes alarmarte. Ni he cambiado de opinión ni mi opinión al respecto se ha visto desautorizada por el documento aludido. ;-)

El documento, ahora ya recomendación, marca cómo se deben incluir los estilos (o declaraciones Css) en el cuerpo del documento generado (html, xml...) utilizando para ello el atributo style='' en la etiqueta de apertura de los elementos. Lo que tradicionalmente se ha llamado estilos en línea.

Sintaxis de los estilos incluidos en el atributo style

El valor del atributo 'style' debe coincidir con la sintaxis de los contenidos de un bloque de declaraciones CSS con exclusión de los corchetes que lo delimitan. Su sintaxis formal (en sus términos y convenciones) es la misma que la sintaxis básica de CSS.

Esta sintaxis es la utilizada desde siempre al incluir estilos en línea en el documento. Los caracteres permitidos son los mismos que ya fueron recogidos en la especificación de Css2.1

Lo anterior es así porque el 'intérprete' que debe calcula los valores de los estilos incluidos en el atributo style es el mismo que utiliza el navegador para los incluidos en las hojas de estilos.

style='Xºdeclaracion [ ; Xºdeclaracion ]'

Donde Xºdeclaracion es cualquier par propiedad: valor según la nomenclatura Css. El corchete indica que puede haber tantas declaraciones como sean necesarias, estando separadas una de otra por un ; (punto y coma).

Cadenas de texto y caracteres prohibidos

La especificación ahora aprobada incluye expresamente dos notas aclaratorias relativas a los comentarios y a los corchetes de apertura y cierre de los bloques de declaraciones:

CSS Style Attributes
  1. Comentarios Css /* */

    La recomendación no los incluye al exponer la sintaxis de los estilos en línea, pero ello es porque lo hace así siempre. Sin embargo sí puedes incluirlos en los estilos incluidos en el atributo style. Bien conformados ni anulan las declaraciones ni son marcados como errores o advertencias ni por el validador de Html ni por el de Css.
  2. corchetes de apertura y cierre de los bloques de declaraciones { }

    Expresamente prohibidos en una nota exprofeso. Exáctamente indica que como no hay un corchete de apertura { no puede haber otro de cierre } y por lo tanto son invalid token.

La segunda nota (y su razón de ser) relativa a los corchetes delimitadores de los bloques de declaraciones es la responsable de que no sea posible declarar estilos en línea para cualquier pseudoclase o pseudoelemento de cualquier elemento. Como por ejemplo los estylos relativos al :hover en línea para un enlace.

Tampoco se pueden incluir en el atributo style las reglas de reglas o at-rule (@nombre) que se identifican por la '@' inicial, como las keyframes, media queries, étc. La razón es la misma: por no estar permitido el carácter {.

El consorcio W3c recomienda encarecidamente que las especificaciones de los lenguajes de documentos web (como html, xml...) no permitan que haya más de 1 atributo style en cada elemento. Y en caso de que algún lenguaje de marcado lo permita cada atributo style ha de ser tratado como una regla de estilo diferente.

Apuntes finales

1

Para terminar y por si tienes alguna duda sobre qué es un elemento y qué lo conforma o sobre la terminología Css te sugiero estos artículos para aclarar conceptos:

  1. No es lo mismo, no da igual, elemento que tag.
  2. CSS básico: Sintaxis de Css y Glosario de términos (1)
  3. CSS básico: Vocabulario y Glosario de términos Css (2)

2

El crédito de las dos imágenes del artículo: provienen de la página del equipo de diseño gráfico francés Helmo. Todos los créditos a su autor original. Su uso aquí es méramente a efectos de ornamentar el post.

3

Artículo publicado originalmente en Noviembre de 2013. Revisado, corregido y ampliado en Mayo de 2016.

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