Алгебра в calc(), новая специфичность селекторов 4 уровня и другие майские новинки CSS

HTML, CSS, JS

Вчерашняя (уже третья за май 2018 г.) телеконференция Рабочей группы CSS принесла несколько сюрпризов: в функцию calc() добавили долгожданную возможность делить значения одинаковой размерности друг на друга (например, calc(500px / 100vw)), получая безразмерные коэффициенты (а в перспективе — вообще делать любые математически допустимые операции с CSS-величинами, скажем, высчитывать площади фигур в квадратных пикселях, умножая высоту на ширину, или делить расстояние на время, получая скорость анимации в пикселях в секунду). А у псевдоклассов :matches(), :not() (со списком аргументов) и :has() из модуля селекторов 4 уровня изменились правила специфичности — теперь она не будет высчитываться динамически в зависимости от того, какой аргумент из списка реально совпал, а всегда браться по самому специфичному из аргументов. Так что давнюю реализацию в WebKit и недавнюю частичную в Chrome опять придется переделывать — но, по идее, для будущих реализаций новый алгоритм станет проще.

А еще конец мая выдался «урожайным» на обновления CSS-спецификаций (постоянных версий, публикуемых как «технические отчеты», technical reports, в разделе w3.org/TR/, которые нужны для отслеживания истории развития стандартов и их патентной чистоты). 24 мая вышля обновленная редакция модуля CSS-изоляции (CSS Containment) 1 уровня, полезного для оптимизации перерисовки компонентов, и сразу два кандидата в рекомендации про режимы письма — 3 уровня (обновленный) и 4 уровня (впервые в этом статусе, включает добавочные возможности для вывода текста «боком»). А 28 мая обновилась редакция модуля CSS-колонок 1 уровня: он с 2011 г. уже был кандидатом в рекомендации, но с тех пор в нем нашли много проблем и неточностей, так что с октября 2017 г. его опять «понизили» до рабочего черновика (увы, с CSS-спецификациями такое бывает:). Но в новой редакции большинство проблемных мест исправлено, так что есть шанс, что скоро он вернет себе «солидный» статус — тем более что браузеры наконец дружно поддерживают его без префиксов.

Следить за новинками рабочей группы CSS можно в их блоге. А прояснять спорные вопросы лучше всего прямо на гитхабе:).

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

3

Комментарии

  1. Tini

    Спасибо за статьи! Читаю с интересом, помогают прояснить многие пробелы, хоть занимаюсь версткой много лет. Периодически читаю спецификации html и css, обычно выборочно, если ищу ответы на вопросы. Но никак не могу разобраться, где находить список ВСЕХ спецификаций (и CSS, и HTML). На том же w3.org не могу найти списка или оглавления, только прямые ссылки на конкретные спецификации или ещё какие-то редакции. Чем отличаются и какую имеют важность черновики/кандидаты в рекомендации и прочие правки, и самое главное, как их различать и где вообще каталоги с этими документами (имею в виду в виде списков с датами или с версиями). Как среди всех в любой момент времени найти актуальную? Что первоисточник, W3C или WATWG. Иногда просто каша. Когда эти документы вступают в силу? Когда валидаторы начинают следовать правилам из этих спецификаций? Помогите разобраться, пожалуйста, доступным языком и со ссылками))

    1. SelenIT

      SelenIT (Автор записи)

      Спасибо за отклик! Подождите еще буквально чуточку, скоро будет статья как раз про это)

  2. Tini

    Было бы отлично, с нетерпением жду) Оставьте, пожалуйста, ссылку здесь на статью, когда она появится.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Ваш E-mail не будет опубликован

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.