Safari 26 вышел, и это одно из самых содержательных обновлений WebKit за последние годы.
В релизе — 75 новых возможностей и 171 улучшение. Многие фичи уже были в Chrome, но теперь они становятся доступными и в Safari, что важно для кросс-браузерного использования.
Главные изменения в части CSS:
• Anchor positioning. Теперь Safari поддерживает привязку абсолютно позиционированных элементов к другим узлам. Это делает возможным реализацию тултипов и попапов на чистом CSS.
• Scroll-linked animations. Появились animation-timeline с функциями scroll() и view(), а также animation-range. Анимации можно привязывать к прокрутке или к появлению элемента во вьюпорте — без JS.
• progress(). Новая функция, которая вычисляет прогресс в диапазоне и умеет работать со смешанными единицами измерения (px + vw и т.п.). Упрощает сценарии, которые раньше приходилось собирать через calc() или тригонометрию.
• Самовыравнивание при absolute. В absolute-контейнерах теперь можно использовать align-self и justify-self (включая anchor-center). Это решает часть типичных задач центрирования без translate-хаков.
• contrast-color(). Функция автоматически выбирает чёрный или белый текст для заданного фона. Реализация пока ограниченная, но впервые доступна в стабильном релизе Safari.
• text-wrap: pretty. Улучшает разбиение текста на строки: уменьшает количество коротких строк и сглаживает «рваный» край. Safari идёт дальше текущей реализации Chrome.
Это только часть изменений. Полный разбор со множеством демо — в статье.
@js_for_devs