Праздничное обновление Compat 2021: подарки для разработчиков до конца года

Обновление Compat 2021 на конец года — попытка устранить проблемы совместимости браузеров в пяти ключевых областях: CSS Flexbox, CSS Grid, положение: липкое, соотношение сторон и преобразования CSS.

Mariko Kosaka

Конец года близок, и пришло время для финального обновления Compat 2021 — попытки устранить проблемы совместимости браузеров в пяти ключевых областях.

>90 %

оценка во всех браузерах

Со времени нашего последнего обновления мы продолжали видеть улучшения во всех браузерах. В начале года все браузеры начинали с гораздо более низких результатов тестов, но теперь все браузеры превысили 90%! Это означает, что веб-платформа значительно улучшила совместимость пяти основных областей.

Снимок панели управления Compat 2021 (экспериментальные браузеры)
Снимок панели управления Compat 2021 (экспериментальные браузеры).

Вклад в развитие браузерных движков вносят не только производители браузеров, но и другие представители веб-сообщества. В этом проекте мы особенно хотим поблагодарить Igalia за их участие и постоянную работу над улучшением показателей. Игалия внесла свой вклад в улучшение всех пяти основных направлений Compat 2021.

На wpt.fyi , панели результатов тестирования, теперь есть отфильтрованное представление результатов теста , показывающее все тесты, включенные в Compat 2021, а также представления для Chrome , Firefox и Safari , сравнивающие результаты с нашим последним обновлением в июле.

Давайте посмотрим на улучшения в каждой области!

CSS-флексбокс

flex-basis: content теперь доступен во всех браузерах, а реализации реализованы в Chromium и WebKit . (Значение content уже поддерживалось Gecko.)

В Chromium исправлена ​​проблема с размером флексбокса , который соответствует спецификации и поведению Gecko. А в Gecko исправлено несколько проблем, влияющих на Compat 2021 , включая проблему с процентной высотой гибких элементов . Наконец, в WebKit теперь добавлена ​​поддержка большего количества значений свойств выравнивания ( left, right , self-start, self-end , start, end ), а также было сделано множество улучшений для абсолютного позиционирования , а также улучшены результаты теста flexbox в Компат 2021.

CSS-сетка

Использование CSS Grid в Интернете продолжает расти, о чем свидетельствуют как веб-альманах 2021 года , так и показатели использования Chrome.

Запуск GridNG в Chrome и Edge 93 решил многие давние проблемы с Grid, закрыв впечатляющие 38 проблем в системе отслеживания ошибок Chromium. Вместе со многими последующими более мелкими улучшениями оценка Grid в Chromium в Compat 2021 улучшилась на 3 % до 97 %. Эту работу возглавляла команда Edge в Microsoft.

Ошибка абсолютного позиционирования , влияющая на Grid, была исправлена ​​в Gecko, и многие исправления вошли в WebKit, что привело к улучшению на 1% для Firefox и на 3% для Safari в тестах Grid.

position: sticky

В нашем последнем обновлении мы отметили, что position: sticky была первой областью, где любой браузер (в данном случае Chrome и Edge) достиг 100% прохождения тестов. Теперь, после ряда исправлений в реализации WebKit, Safari также получает 100% оценку в этих тестах. Большинство этих улучшений были включены в Safari 15.

Свойство aspect-ratio CSS

Кроссбраузерная поддержка определения соотношения сторон (отношения ширины к высоте) элементов продолжает улучшаться: оценки Compat 2021 достигли 99%, 97% и 95% для Chrome/Edge, Firefox и Safari соответственно. Большинство улучшений связано не с самим свойством aspect-ratio , а с тем, как атрибуты width и height сопоставляются со значением aspect-ratio по умолчанию для элементов. Это было реализовано для нескольких элементов в WebKit и <canvas> для Chromium .

CSS-преобразования

Поддержка transform: perspective(none) теперь поддерживается в Chromium , Gecko и WebKit . Это облегчит анимацию между перспективой и отсутствием перспективы.

В Chromium transform-style: preserve-3d (который позволяет дочерним элементам участвовать в одной и той же 3D-сцене) и свойство perspective (которое применяет преобразование перспективы к дочерним элементам) теперь приведены в соответствие со спецификацией , заставляя их применяться только к дочерним элементам. элементы.

Большой рост оценок за CSS-преобразования для всех браузеров обусловлен главным образом улучшениями набора тестов, в которых были исправлены или удалены неправильные тесты. Это облегчает понимание остающихся проблем совместимости и позволяет избежать регрессов в будущем.

Заключение

Мы благодарны за работу, которую все проделали, чтобы завершить год множеством улучшений в показателях, а также лучшей инфраструктурой тестирования. aspect-ratio было давно востребованной функцией веб-разработчиков, и теперь она поддерживается во всех браузерах. Использование флексбоксов, сетки и position: sticky становятся все более популярными, и теперь эти функции лучше поддерживаются в браузерах благодаря множеству улучшений, внесенных в 2021 году.

Что дальше? Мы рады продолжить сотрудничество с другими поставщиками браузеров и более широким сообществом в следующей версии этой работы. Мы начали исследовать и обсуждать основные направления на 2022 год. Ждите объявления в ближайшее время.

Если у вас есть отзывы или вопросы, пишите нам в Твиттере по адресу @ChromiumDev .