Спецификации в css
Разбираемся в спецификациях css
Что это такое
Спецификация - это документы определяющие правила использования css.
Ранее, это был один документ, но из-за того что ее стало тяжело поддерживать было принято решение разбить ее на части.
Теперь спецификация развивается по уровням начиная с первого.
Сначала нам нужно понять как идет процесс над спецификациями css.
Рабочий процесс
Работа от задумки до готовой спецификации идет рабочей группой css постоянно.
Список текущих работ со статусами можно посмотреть на странице https://www.w3.org/Style/CSS/current-work
Сначала рабочая группа выкладывает на сайт рабочий первый черновик Working Draft, WD. На этой стадии в черновик могут вносить изменения все желающие, а браузеры могут начать с экспериментами реализации этой фичи под префиксами.
В процессе работы выпускаются несколько промежуточных версий WD. Когда рабочая группа решает, что это последняя версия черновика, выпускается особая версия Last Call (LC) типа финального черновика. Срок в этом статусе спецификация находится около 2 месяцев.
После этого спецификация получает статус кандидат в рекомендации Candidate Recommendation, CR, что значит, что спецификация фактически готова и браузеры могут смело реализовывать фичи и убирать префиксы.
Когда минимум два браузера независимо друг от друга реализовали спецификацию, и эти реализации оказались полностью совместимы. Спецификация получает следующий статус предложенная рекомендация Proposed Recommendation, PR. И наконец когда будет утвержден и этот статус, спейификация публикуется в окончательном статусе рекомендация Recommendation, Rec.
Рекомендацияс REC - это и есть стандарт
После этого спецификация - уже не меняется, а может лишь устареть и заменится новой спецификацией.
Бывает, что статусы откатывается назад, вперед и так несколько раз.
Уровни
Версий как мы уже поняли у css нет, а есть уровни. Каждый уровень css основывается на предыдущем, уточняя определения и добавляя функции.
CSS 1
Итог: Рабочая группа считает спецификацию CSS1 1996 года устаревшей. По факту - это основы синтаксиса css.
CSS 2
Хотя спецификация CSS2 технически является рекомендацией W3C, она перешла в стадию рекомендаций до того, как W3C определила стадию рекомендаций кандидатов.
С течением времени опыт внедрения и дальнейший анализ выявили множество проблем в спецификации CSS2, поэтому вместо расширения и без того громоздкого списка исправлений рабочая группа решила определить CSS 2-го уровня в редакции 1 (CSS2.1).
Как только CSS2.1 стал рекомендацией кандидатом - фактически, хотя официально и не достигал того же уровня стабильности, что и CSS2 - рекомендация CSS2 устарела.
Функции в CSS2, которые были исключены из CSS2.1, следует рассматривать как находящиеся на стадии рекомендации кандидатов, но обратите внимание, что многие из них были включены или будут включены в рабочий проект CSS уровня 3, и в этом случае, как только эта спецификация достигнет CR, определения в CSS2 устареют.
Спецификация CSS2.1 определяет уровень CSS 2, а спецификация атрибутов стиля CSS определяет его включение в атрибуты стиля, относящиеся к конкретным элементам.
Итог: Заменён на CSS2.1
CSS 2.1
Итог: Основа современной веб-разработки. Последняя монолитная спецификация.
CSS 3
Начиная с этой версии, весь CSS разрабатывается уровнями, основываясь на предыдущих готовых стандартах.
CSS Level 3 основан на CSS Level 2 модуль за модулем, используя спецификацию CSS2.1 в качестве основы.
Каждый модуль добавляет функциональность и/или заменяет часть спецификации CSS2.1.
Рабочая группа по CSS предполагает, что новые модули CSS не будут противоречить спецификации CSS2.1: они только добавят функциональность и уточнят определения.
По мере завершения работы над каждым модулем он будет подключаться к существующей системе CSS2.1, а также к ранее завершенным модулям.
Начиная с этого уровня, модули повышаются независимо друг от друга: например, уровень 4 для селекторов может быть завершен раньше, чем уровень 3 для линейных модулей CSS.
Модули, не имеющие эквивалента CSS уровня 2, начинаются с уровня 1, модули, обновляющие функции, существующие в CSS уровня 2, начинаются с уровня 3.
CSS 4 и выше
Здесь нет CSS уровня 4. Независимые модули могут достигать уровня 4 или выше, но в CSS-языке больше нет уровней. (Термин “CSS уровня 3” используется только для того, чтобы отличить его от предыдущих монолитных версий).
Что важно. Номер уровня ни показатель, актуальности и готовности стандарта
Что имеем сейчас
Все, что появлялось после CSS2.1 называли CSS3, далее CSS не делился на этапы, посмотрим что будет дальше.
Хотите оптимизировать свой бизнес, нужен сервис, сайт или интеграция.
Бесплатно расчитаю время разработки, предложу решение вашей задачи.
