Главная » Css live » Новые спецификации CSS-селекторов

Новые спецификации CSS-селекторов

Привычные нам CSS-селекторы 3 уровня стали рекомендацией W3C еще в 2011-м (почти одновременно с CSS2.1), а черновик селекторов 4 уровня был опубликован еще в 2013-м и очень долго не менялся. Но на этой неделе рабочая группа CSS спохватилась и показала, что работа над селекторами не заброшена. С перерывом в два дня обе спецификации обновились: 30 января — старая, а 1 февраля — новая.

В старой спецификации фактически исправлена лишь одна ошибка (применимость селекторов вида :nth-* к корневому элементу). Но поскольку из-за этой ошибки пришлось менять набор тестов к спецификации и заново проверять, как его проходят браузеры, формально ее «понизили в статусе» до кандидата в рекомендации. Впрочем, это уже неважно — основная работа идет над селекторами 4 уровня.

Новый же черновик переработан почти до неузнаваемости — все статьи про новые селекторы, ссылающиеся на версию 2013 года, можно выбрасывать. Изменилась терминология, сам язык спецификации стал точнее и строже. Даже те, кто вместе с нами следили за новинками редакторского черновика и его первыми реализациями в браузерах, найдут в новой редакции немало сюрпризов.

Активизацию работы над селекторами во многом подтолкнуло недавнее решение разработчиков Chrome реализовать (вслед за Safari) некоторые из новых селекторов — как минимум, :matches(). Как часто бывает, в последний момент у многих стали появляться идеи дальнейший улучшений, и прямо сейчас на Гитхабе обсуждается (порой с жаром) немало ишью про селекторы. В частности, пока так и не придумали названия новому аналогу :matches() с нулевой специфичностью. Так что если не хотите, чтобы в браузерах навеки закрепилось неудачное, на ваш взгляд, решение — присоединяйтесь и выдвигайте свои аргументы, именно сейчас они могут оказаться определяющими. А мы постараемся и дальше держать вас в курсе текущих новоCSSтей и знакомить с самыми интересными новинками, так что следите за нашими обновлениями!

P.S. Это тоже может быть интересно: