Summary

  • Первый публичный черновик W3C 2021 года поместил дочернее правило внутрь родительского и ввёл & для ссылки на родителя; декларация после вложенного правила тогда считалась недействительной.
  • Текст 2023 года разрешил смешивать декларации с правилами, но не сохранял их относительный порядок. В черновике 2026 года для этого появились вложенные правила деклараций.

Редактор собирает карточку материала. Хочется видеть оформление кнопки рядом с оформлением карточки, поэтому дочернее правило переезжает внутрь родительского. Файл сразу выглядит понятнее. Следом редактор дописывает цвет после внутреннего блока. На бумаге это последний мазок. Для браузера порядок ещё надо определить: вложенные комнаты затруднили расписание отделочников.

Первый публичный черновик от 31 августа 2021 года определял селектор дочернего правила относительно родительского. Символ & позволял обратиться к родителю изнутри. Предлагались прямое вложение с ограничениями на запись селектора и более свободный путь через @nest. Два входа появились из-за неоднозначной грамматики: строка color:hover может выглядеть как селектор либо как начало декларации. Текст объяснял, почему для различения иногда требуется заглядывать вперёд без заранее установленной границы.

Опоздавшей декларации черновик 2021 года места не оставил. Сначала должны были идти декларации, затем вложенные правила. Декларация после них была недействительна и игнорировалась. Переставить строку ради удобства чтения означало потерять её действие. Маляр мог закончить работу только до установки двери во внутреннюю комнату.

В черновике от 14 февраля 2023 года отдельный вход @nest исчез. Декларации разрешили перемежать с вложенными правилами. Но текст прямо указывал: их относительный порядок не сохраняется. В файле видна очередь, а представление для каскада не обязано повторять её. Маляр всё-таки вошёл в дом, только номер в очереди у него отобрали.

Черновик от 22 января 2026 года вернул расписание. Декларации после вложенных правил или между ними неявно помещаются во вложенные правила деклараций, сохраняя позицию. Простая обёртка вида & { ... } могла бы изменить поведение псевдоэлементов и специфичность; документ разбирает эту ловушку. В перечне изменений зафиксирован и промежуточный вариант с @nest, позже уступивший выбранной конструкции. Браузеру понадобилась более точная внутренняя запись, чтобы порядок в исходном файле оставался настоящим порядком.

История публикаций W3C связывает версии 2021, 2023 и 2026 годов. Вложенность сблизила правила одного компонента, а & дал ясный адрес родительской комнате. После этого стандарту пришлось договориться о времени: что делать с инструкцией, пришедшей после строительства внутренней комнаты. Редактор решает, какие правила поселить рядом. Браузер ведёт журнал работ, чтобы кнопка не меняла цвет из-за забывчивого прораба.