Niveles de CSS

Versiones o niveles de CSS


CSS es una especificación desarrollada para que el lenguaje CSS esté definido según unas "normas", y por lo tanto, en todos los navegadores funcionen de la misma forma. De no tener una especificación o estándar definido que los guíe, los navegadores implementarían el lenguaje CSS cada uno a su forma, y el CSS que escribe un desarrollador podría funcionar diferente en cada navegador.

Aún así, es posible que te hayas encontrado con situaciones en las que te has encontrado que ciertas cosas no funcionan dependiendo del navegador. Es cierto, esto ocurre en ciertos casos (es mucho menos frecuente que si no tuviesemos un estándar), pero ocurre por otras razones que explicaremos más adelante.

¿Qué es el W3C?

El World Wide Web Consortium (W3C) es una comunidad internacional que se encarga de desarrollar estándares para asegurar el crecimiento y la neutralidad de la web, que funcionen en todos los dispositivos (independientemente de sistema operativo, navegador u otras cuestiones) e independizándolo de intereses de empresas particulares, alejando la promoción de tecnologías propietarias e intentando aunar esfuerzos para satisfacer la demanda de características útiles e interesantes para el público.

En este consorcio participan y colaboran prácticamente casi todas las empresas relacionadas con Internet, como por ejemplo: Apple, Adobe, Akamai, Cisco, Google, Facebook, HP, Intel, LG, Microsoft, Nokia, Twitter, Yahoo, entre muchos otros.

Existen múltiples grupos de trabajo que se enfocan en temáticas particulares, como por ejemplo:

  • WHATWG: Web Hypertext Application Technology Working Group
  • CSSWG: CSS Working Group
  • AGWG: Accesibility Guidelines Working Group
  • WOTWG: Web of Things Working Group

Por ejemplo, desde hace algunos años, la comunidad WHATWG participa en el desarrollo y evolución de especificaciones como las de HTML, DOM u otras tecnologías relacionadas.

El pasado de CSS

Aunque muchas veces se habla de CSS3 casi como algo análogo de CSS, a lo largo de su historia, CSS ha ido evolucionado por diferentes niveles (algo parecido a las versiones de un programa). Por ejemplo, desde su creación en 1996 hasta 2011, pasaron por los siguientes niveles:

Nivel Año Descripción
CSS1 1996 Se crean propiedades para tipografías, colores, alineación, etc...
CSS2 1998 Propiedades de posicionamiento, tipos de medios, etc...
CSS2.1 2005 Corrige errores de CSS2 y modifica ciertas propiedades
CSS3 2011 Se comienzan a crear características de CSS como módulos independientes

A partir de 2011, la especificación CSS decide separar sus nuevas funcionalidades en pequeños módulos en lugar de aumentar versiones, para facilitar la implementación en navegadores. De esta forma, las características avanzan independientemente del lenguaje. Por ejemplo, el módulo Flex puede encontrarse en el nivel 2, mientras que el módulo Grid puede encontrarse en el nivel 3.

Es posible que en Internet encuentres artículos mencionando que nunca habrá una versión 4 de CSS. Estos artículos están desactualizados porque fueron escritos en esta época inicial. Sin embargo, la realidad actual es diferente, como explicamos en el siguiente apartado.

En la web del consorcio W3C hay información técnica sobre estos módulos relacionados con CSS.

El futuro de CSS

Recientemente, un nuevo grupo de trabajo llamado CSS Next está replanteando la idea de volver al sistema de versionado general de CSS. Con el tiempo, la muerte de Internet Explorer y la evolución de las tecnologías, CSS ha comenzado a avanzar rápidamente, y el sistema de niveles por módulo complica mucho la organización de los temas.

Por esta razón, se ha planteado un nuevo modelo de organización, donde se normalizarán las características existentes en varias versiones como CSS4, CSS5 o CSS6, de modo que así sea mucho más sencillo aprender CSS para programadores aprendices, los navegadores sepan que características deben implementar antes, saber que features son novedad, etc:

Nivel Año Descripción
CSS3 2011-2013 Características anteriores al cambio de niveles de CSS.
CSS4 2013-2018 Características introducidas en una spec en 2018 o antes.
CSS5 2019-2024 Características introducidas en una spec en 2024 o antes.
CSS6 2024-... Características introducidas en una spec a partir de 2024.

Presumiblemente, cada 5 años se generará un nuevo nivel de CSS con las características que se hayan introducido en una especificación desde el lanzamiento del último nivel.

Sin embargo, recuerda que aunque se vaya a cambiar a este modelo de versiones, se va a continuar con el sistema de módulos internamente. Este sistema de versiones de CSS4, CSS5, CSS6, etc. es simplemente una forma de simplificar y organizar las características de modo que sean más fáciles de aprender y gestionar.

¿Quién soy yo?

Soy Manz, vivo en Tenerife (España) y soy streamer partner en Twitch y profesor. Me apasiona el universo de la programación web, el diseño y desarrollo web y la tecnología en general. Aunque soy full-stack, mi pasión es el front-end, la terminal y crear cosas divertidas y locas.

Puedes encontrar más sobre mi en Manz.dev