soy Kseso y esto EsCSS

CSS Snapshot 2015. El estado de la cuestión: qué es css y sus niveles, adiós prefijos privativos y más

El documento "CSS Snapshot 2015" del W3c en español. Sus novedades y aquellos aspectos más relevantes que contiene, como la muerte de los prefijos privativos y la reafirmación de que todo es Css (no hay un Css2.1 ni un Css3) y que Css4 ni está ni se le espera.

CSS Snapshot 2015. El estado de la cuestión: qué es css y sus niveles, adiós prefijos privativos y más

·Por Kseso ✎ 2
CSS Snapshot 2015. El estado de la cuestión: qué es css y sus niveles, adiós prefijos privativos y más

Ayer día 7 de Octubre fue publicado por el W3c el documento CSS Snapshot 2015. Sus editores son: Tab Atkins Jr. (Google) y Elika J. Etemad (Fantasai) y Florian Rivoal como expertos invitados.

Este tipo de documentos realiza una foto fija o resumen del estado en el que se encuentra Css en el momento de su publicación.

El presente es breve y conciso. Sólo consta de 5 puntos, incluida la obligada y común introducción y el 5 y último de reconocimiento, definiciones y referencias.

Pero en los 3 restantes hay enjundia y posíblemente su lectura nos ayude y mucho a todos a clarificar conceptos e ideas. Entre otros el tema de los niveles (que no versiones) y la muerte de los prefijos privativos.

1: Introducción y el método de trabajo del W3c y Css

Comienza este documento recordando que el corpus de Css dejó de ser un gran bloque y que en la actualidad es modular: está dividido en partes o módulos. Este enfoque facilita su mantenimiento y desarrollo.

A continuación explica el proceso de trabajo de los grupos del W3c de Css y los distintos estadios o niveles por los que pasan cada documento hasta ser marcado como recomendación (en caso de alcanzarla):

  1. Working Draft (WD)
  2. Candidate Recommendation (CR)
  3. Recommendation (REC)

2: Cascading Style Sheets (CSS) — The Official Definition

A la ya tradicional definición de Css que se incluye por norma en el inicio de cada documento en el apartado Abstract: CSS is a language for describing the rendering of structured documents (such as HTML and XML) on screen, on paper, in speech, etc. se suma esta otra.

Más breve y concisa no puede ser. Además de más que meridiana indicación de lo que es realmente importante para el W3c:

As of 2015, Cascading Style Sheets (CSS) is defined by the following specifications.

Para a continuación listar todos los documentos de Css estables: los que han alcanzado el status de recomendación y aquellos otros que sin haber llegado se prevé que no sufran cambios significativos.

Esta definición sobre qué es css (Css se define por sus especificaciones): lo que sea o deje de ser Css como tipo de lenguaje no tiene importancia. Css no se define en base a qué es sino sobre lo que hace.

Aquí abro paréntesis para traer a colación algo ajeno al documento. Esta misma semana preguntaba en Twitter qué no cumplía Css para ser considerado un "lenguaje de programación". Como no hallé respuesta satisfactoria lo pregunté en la lista de correo. Esta fue la respuesta:

This is a philosophical question that hinges mostly on what you are willing to accept as the definition of a "programming language", and so it
(a) doesn't have an answer that's even remotely verifiable as "correct", and
(b) isn't relevant to the development of the CSS language.

Así que yo ya tengo más que clara la respuesta a la pregunta ¿Qué es Css?: lo que hace. Que no deja de recordarme aquello otro de por sus obras los conoceréis. Fin del paréntesis.

2.1: CSS Levels

Cascading Style Sheets no tiene versiones en el sentido y significado clásico. Por contra tiene niveles (levels).

Cada nivel de Css se construye sobre el anterior, redefiniendo definiciones y añadiendo novedades.

El conjunto de características de cada nivel superior es un superconjunto de cualquier nivel más bajo, y el comportamiento permitido para una característica dada en un nivel más alto es un subconjunto de la permitida en los niveles inferiores.

A continuación hace un pequeño resumen de qué fueron cada una de los niveles anteriores de Css (el 1 y el 2 con su evolución 2.1). Del nivel 3 y siguientes esto dice:

CSS Level 3
CSS Nivel 3 se basa (módulo por módulo) en CSS Nivel 2, utilizando la especificación CSS2.1 como su núcleo. Cada módulo añade funcionalidad y/o reemplaza esa parte de la especificación CSS2.1. El Grupo de Trabajo de CSS tiene la intención de que los nuevos módulos CSS no contradigan la especificación CSS2.1: solamente van a agregar funcionalidad y refinar las definiciones.
A partir de este nivel (CSS Level 3) los módulos se desarrollan independiente: por ejemplo el módulo " Selectors Level 4 " puede ser completado antes que el módulo "CSS Line Module Level 3". Los módulos sin un predecesor en CSS Nivel 2 sobre el que comenzar comienzan en el Nivel 1; los módulos que actualizan características que existían en el Nivel 2 de CSS se inician "nivel 3".
CSS Level 4 and beyond
There is no CSS Level 4. Independent modules can reach level 4 or beyond, but CSS the language no longer has levels. ("CSS Level 3" as a term is used only to differentiate it from the previous monolithic versions.)

Pese a que el último punto, sobre CSS4 y siguientes niveles, ya es algo sabido y aclarado, está bien que se incluya en este documento:

No hay un nivel CSS 4. Con independencia de que lo módulos pueden alcanzar el nivel 4 u otros mayores, el lenguaje CSS ya no tiene niveles. ("CSS Nivel 3" como término sólo se utiliza para diferenciarlo de las versiones monolíticas anteriores.)

3: Requisitos para la Aplicación Responsable de CSS

En este punto se definen varios requisitos de conformidad para la implementación de CSS de manera responsable, de una manera que promueve la interoperabilidad en el presente y futuro.

El punto más reseñable de este apartado es que... ¡tachán! ¡tachán!...

¡¡¡Los prefijos privativos han muerto!!! [1]

Los prefijos privativos han muerto
Certificado de la muerte de los prefijos privativos

Y en su lugar esta es la propuesta o sucesor de los prefijos privativos para implementar y poder jugar con "novedades no estables".

Como sabrás, no hace mucho que Apple anunció sus intenciones de comenzar a usar su propio prefijo privativo. Quizás quieras saber qué opina al recpecto de este punto. Eso hizo alguien y le preguntó a Florian Rivoal (uno de los editores de este documento) por la postura de Apple al respecto. Aquí puedes ver su respuesta (tuit).

4: Índices

Sólo por este apartado merece la pena guardar en favoritos el documento CSS Snapshot 2015. Aquí los tienes listados (y enlazados a su desarrollo y definición en el documento original) lo siguiente:

  1. Índice de Términos
  2. Índice de Selectores
  3. Índice de At-Rule (reglas @)
  4. Índice de Propiedades
  5. Índice de Valores

Este documento es un buen lugar desde el que comenzar la búsqueda de ese dato o definición "oficial" sobre cualquier aspecto de Css.

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