Interop 2026 официально состоится. Итак, вы знаете все эти дикие новые функции CSS, на которых мы всегда фокусируемся, но всегда ставим под предупреждением «отсутствие поддержки браузера»? Большая тройка — Blink (Chrome/Edge), WebKit (Safari) и Mozilla (Firefox) — работают вместе, чтобы обеспечить полную и постоянную поддержку!
Вы можете прочитать сообщение в блоге самостоятельно:
И да, есть Очень Чтобы увлечься CSS конкретно:
позиция якоря
Из нашего руководства:
Позиционирование привязки CSS дает нам простой интерфейс для соединения элементов рядом с другими, просто указывая, к какой стороне подключаться — непосредственно в CSS. Это также позволяет нам установить резервное условие, чтобы избежать только что описанных проблем переполнения.
передовой attr()
на самом деле у нас есть attr() Работаю около 15 лет. Но теперь мы сможем передавать туда переменные… С преобразованием типов!
вопросы по стилю контейнера
Мы уже можем запрашивать контейнеры по «типу», но только по размеру. Было бы здорово, если бы мы могли применять стили на основе других стилей. Рассказывать:
@container style((font-style: italic) and (--color-mode: light)) {
em, i, q {
background: lightpink;
}
}
contrast-color() Праздник
Получить правильный цветовой контраст между текстом переднего плана и фоном может быть довольно легко, но это работа вручную, которую мы можем изменить с помощью медиа-запроса на основе текущей цветовой схемы. с contrast-color() (мне всегда хочется написать это так color-contrast()возможно, потому что это было оригинальное название) мы можем динамически переключаться color Между белым и черным.
button {
--background-color: darkblue;
background-color: var(--background-color);
color: contrast-color(var(--background-color));
}
пользовательские моменты
Выделите все! у нас есть ::selection Навсегда, но теперь у нас будет куча других:
| псевдоселектор | Выбирает… | примечания |
|---|---|---|
::search-text |
Найдите совпадения на странице | ::search-text:currentВыбирает текущую цель |
::target-text |
фрагменты текста | Фрагменты текста позволяют программно выделять их с помощью параметров URL. Если поисковая система перенаправляет вас на сайт, она может использовать фрагменты текста, поэтому ::target-text легко запутывается ::search-text. |
::selection |
Текст, выделенный с помощью указателя | |
::highlight() |
Пользовательские выделения, определенные с помощью API Custom Highlights API JavaScript. | |
::spelling-error |
слова с ошибками | В основном это относится только к редактируемому контенту. |
::grammar-error |
неправильная грамматика | В основном это относится только к редактируемому контенту. |
Диалоги и всплывающие окна
Наконец-то, без использования JavaScript (и декларативный) способ установки элементов на верхнем слое! Мы действительно тщательно изучили их за последние несколько лет.
Статья
23 октября 2024 г.
Разъяснение связи между поповерами и диалогами
Статья
26 июня 2024 г.
забегаю
Статья
26 января 2026 г.
Нет необходимости захватывать фокус на элементе диалога.
Статья
25 июля 2024 г.
лопнуть воздушные шары
Статья
19 февраля 2025 г.
Работа с несколькими CSS-якорями и всплывающими окнами внутри цикла WordPress
Статья
9 июня 2025 г.
Создание уведомления об автоматическом закрытии с помощью всплывающего окна HTML
Статья
23 июля 2025 г.
Сначала взгляните на API Interest Invoker (для всплывающих окон, запускаемых при наведении курсора мыши).
Статья
3 июня 2025 г.
Творческий подход к HTML-диалогам
Добавлять
15 января 2018 г.
Встречайте новый элемент диалога
Добавлять
1 декабря 2025 г.
Запретить прокрутку страницы, пока открыто диалоговое окно
Статья
20 ноября 2024 г.
Команда Invoker: дополнительные способы работы с диалоговыми окнами, всплывающими окнами… и многим другим?
Статья
7 октября 2019 г.
Некоторые практические вещи с элементом HTML-диалога
псевдокласс мультимедиа
Как часто вы хотите его стилизовать? Или Элемент основан на его состоянии? Может быть, с помощью JavaScript, верно? Для того, чтобы это работало, в CSS у нас будет несколько условий:
:playing:paused:seeking:buffering:stalled:muted:volume-locked
Мне нравится этот пример объявления WebKit:
video:buffering::after {
content: "Loading...";
}
Анимация, управляемая прокруткой
Ну, мы все этого хотим. Мы говорим конкретно об анимации, реагирующей на прокрутку. Другими словами, существует прямая связь между ходом прокрутки и ходом анимации.
#progress {
animation: grow-progress linear forwards;
animation-timeline: scroll();
}
привязка прокрутки
Здесь нет ничего нового, но все приведено в соответствие с тем, как менялись характеристики с годами!
Альманах
13 февраля 2019 г.
поле прокрутки
.scroll-element { scroll-margin: 50px 0 0 50px; }
Альманах
12 февраля 2019 г.
прокрутка
.scroll-element{ scroll-padding: 50px 0 0 50px; }
Альманах
21 февраля 2019 г.
прокрутка-привязка-выравнивание
.element { scroll-snap-align: start; }
Альманах
7 марта 2019 г.
прокрутка-привязка-стоп
.element { scroll-snap-stop: always; }
Альманах
4 февраля 2019 г.
тип прокрутки-привязки
.scroll-element { scroll-snap-type: y mandatory; }
Статья
7 февраля 2022 г.
CSS Scroll Snap Slide Deck, поддерживающий живое кодирование
Статья
5 августа 2022 г.
Как я добавил привязку прокрутки к своей ленте в Твиттере
Добавлять
27 марта 2020 г.
Как использовать привязку прокрутки CSS
Статья
2 марта 2016 г.
Введение в точку привязки прокрутки CSS
Статья
15 августа 2018 г.
Практическая привязка прокрутки CSS
shape() Праздник
Это тот, который Темани недавно придумал, и его Конвертер SVG Path to Shape должен быть закладкой. shape() Можно создавать сложные формы при обрезке элементов. clip-path Свойство. У нас уже много лет есть возможность формировать базовые формы – подумайте circle, ellipse()И polygon() – Но не существует «простого» способа создания более сложных форм. И теперь у нас есть нечто менее SVG-y, которое принимает CSS-сущности, вычисления и другие вещи.
.clipped {
width: 250px;
height: 100px;
box-sizing: border-box;
background-color: blue;
clip-path: shape(
from top left,
hline to 100%,
vline to 100%,
curve to 0% 100% with 50% 0%,
);
}
изменить вид
Существует два типа визуальных переходов: однодокументные (переходы на одной странице) и междокументные (или то, что мы часто называем многостраничными переходами). Переходы между страницами стали базовыми в 2025 году, и сейчас браузеры работают над кросс-совместимой реализацией переходов между документами.
Статья
21 февраля 2025 г.
Окунуться в смену сцены
Статья
29 января 2025 г.
Что такое дескриптор типа при переходе представления?
Альманах
7 июня 2024 г.
::переход сцены
::view-transition { position: fixed; }
Альманах
12 июня 2024 г.
:: группа перехода сцены
::view-transition-group(transition-name) { animation-duration: 1.25s; }
Альманах
14 июня 2024 г.
::scene-transition-image-new
::view-transition-image-new(*) { animation-duration: 700ms; }
Альманах
Но
::scene-transition-image-old
::view-transition-image-old(*) { animation-duration: 700ms; }
Альманах
Но
::пара изображений-перехода-сцены
::view-transition-image-pair(root) { animation-duration: 1s; }
Альманах
22 января 2026 г.
::view-transition-new()
::view-transition-new(item) { animation-name: fade-in; }
Альманах
Но
::scene-transition-old()
::view-transition-old(item) { animation-name: fade-out; }
Альманах
22 января 2025 г.
@scene-transition
@view-transition { navigation: auto; }
Альманах
2 июля 2025 г.
Смотреть()
.element { animation-timeline: view(); }
Альманах
20 января 2026 г.
класс перехода сцены
.element { view-transition-class: bearhugs; }
Альманах
29 мая 2024 г.
имя-перехода-сцены
.element { view-transition-name: image-zoom; }
CSS zoom Свойство
О, я этого не ожидал! Я имею в виду, у нас есть zoom Спустя годы – наша страница в Альманахе была опубликована в 2011 году – но как нестандартное свойство. Возможно, я упустил из виду, что эта версия Baseline 2024 появилась недавно и находилась в разработке как часть Interop 2025. В этом году она развивается.
zoom что-то вроде этого scale() функция, но на самом деле она влияет на макет scale() Он просто визуален и преодолевает все на своем пути.
это обертка! Добавьте в закладки панель управления Interop 2026, чтобы следить за развитием событий.