Почему нет никакого CSS4? Разбираемся с CSS Levels


Данный материал является вольным переводом статьи:
Rachel Andrew Why there is no CSS4 - explaining CSS Levels

У нас были CSS1 и CSS2. У нас даже был CSS 2.1, который сразу перешёл в CSS3. Или это мы перешли? Этот пост — краткое объяснение того, как CSS версионируется сегодня.

CSS версий 1 и 2 были монолитными спецификациями. Все, что касалось CSS было включено в один большой документ. Селекторы, позиционирование, цвета — всё было там.

Проблема монолитной спецификации в том, что для того чтобы её закончить, каждый входящий в неё элемент должен быть завершён. CSS стал сложнее, добавились новые функции. Больше нет смысла создавать черту, которая будет останавливать работу над всеми частями CSS только для того, чтобы объявить, что очередная версия закончена. Поэтому после версии 2.1 спецификация была разделена на модули. Так как модули включали в себя все то, что было раньше, плюс добавились новые возможности — все они вышли на третий уровень. Следовательно, люди вроде меня, которые понимали CSS как единую спецификацию, называют модули третьего уровня как CSS 3.

Пока мы относимся ко всему новому в CSS как к CSS 3, работающему не в полную силу, это не будет отражать реальность того, где находится CSS сейчас. Если вы читали что-то о селекторах в CSS 3, то фактически описанное является частью спецификации CSS Selectors Level 3. На самом деле CSS Selectors является одной из спецификаций, отмеченных как завершенная и рекомендуемая. В данный момент рабочая группа по CSS работает над Selectors Level 4 с новыми предложенными функциями, а также возможностями которые были частью третьего уровня (а также CSS 1 и 2). Это не CSS 4, но спецификация 4-го уровня единой спецификации. Одна небольшая часть.

Также есть спецификации возможностей, которые никогда не были частью CSS 1 или 2 и поэтому они относятся к первому уровню. Они являются совершенно новыми. К примеру, к первому уровню относятся спецификации CSS Grid Layout и Flexbox. Flexbox и Grid находятся в статусе Candidate Recommendation (CR).Поэтому любые новые возможности, которые предлагаются в данный момент, вероятно, в итоге попадут на следующий уровень этих спецификаций – Flexbox Level 2 и CSS Grid Level 2.

Если вы хотите посмотреть состояние тех или иных возможностей и их уровень, можете сделать это в документе Current Work. Чтобы разобраться в различных статусах, советуем обратиться к этому документу.