Список всех CSS-свойств, типов, директив, которые были добавлены в браузеры в 2022.
Выражения от контейнера
Входим в новую эпоху управления интерфейсом
@container
: применяет условие к контейнеру, которое должно быть выполнено, чтобы свойство применилось к элементу
@container (width > 400px) {
h2 {
font-size: 1.5em;
}
}
container-name
: позволяет задать имя контейнеру, чтобы можно было обращаться к нему внутри @container
container-type
: позволяет задать тип контейнеру, чтобы можно было обращаться к нему внутри @container
container
: позволяет задать имя и тип контейнеру, чтобы можно было обращаться к нему внутри @container
.container {
container-type: inline-size;
container-name: sidebar;
}
Временные шкалы прокрутки
Позволяют создавать анимации, которые зависят от прокрутки страницы:
scroll-timeline-axis
позволяет задать направление прокрутки.scroll-timeline-name
позволяет задать имя временной шкале прокрутки.scroll-timeline
позволяет задать имя и направление временной шкале прокрутки.
.element {
scroll-timeline-name: squareTimeline;
scroll-timeline-axis: horizontal;
}
Цветные шрифты
@font-palette-values
позволяет задать палитру цветов для цветных шрифтов:
@font-palette-values --identifier {
font-family: Bixa;
}
.my-class {
font-palette: --identifier;
}
font-palette
позволяет задать палитру цветов для цветных шрифтов:
font-palette: normal || light || dark;
Псевдоклассы состояний ресурсов
Псевдоклассы, которые позволяют узнать состояние ресурсов:
buffering
: который в данный момент буферизируется.muted
: который в данный момент звук отключен.paused
: который в данный момент на паузе.playing
: который в данный момент воспроизводится.seeking
: который в данный момент перематывается.stalled
: который в данный момент остановлен.volume-locked
: который в данный момент заблокирован для изменения громкости.
video:playing {
background-color: green;
}
video:paused {
background-color: red;
}
video:seeking {
background-color: yellow;
}
video:stalled {
background-color: orange;
}
video:buffering {
background-color: blue;
}
video:muted {
background-color: gray;
}
video:volume-locked {
background-color: purple;
}
Типы математических выражений
Типы математических выражений, которые можно использовать в CSS:
abs
: модуль числаacos
: арккосинусasin
: арксинусatan
: арктангенсatan
: арктангенсcalc-constant
: константаcos
: косинусexp
: экспонентаhypot
: гипотенузаsqrt
: квадратный кореньlog
: логарифмmod
: остаток от деленияpow
: возведение в степеньrem
: остаток от деленияround
: округлениеsign
: знак числаsin
: синусtan
: тангенс
.element {
width: abs(20% - 100px);
transform: rotate(acos(-0.2));
width: calc(100px * cos(45deg));
width: calc(100px * exp(-1)); /* 100px * 0.367879441171442 = 36px */
width: calc(100px * log(7.389)); /* 200px */
width: round(var(--width), 50px);
width: hypot(2em);
top: sign(--value);
width: calc(100px * sqrt(9)); /* 300px */
width: calc(100px * tan(pi / 3));
}
Ключевые кадры
animation-composition
: позволяет задать режим смешивания для анимацииanimation-timeline
: позволяет задать временную шкалу для анимации
.element {
animation-composition: replace;
animation-timeline: squareTimeline;
}
Управление синтезированным шрифтом
font-synthesis-small-caps
позволяет задать синтезирование маленьких прописных букв.
font-synthesis-style
позволяет задать синтезирование начертания шрифта.
font-synthesis-weight
позволяет задать синтезирование жирности шрифта.
font-synthesis
позволяет задать, какие свойства шрифта должны быть синтезированы, если они не определены в шрифте.
.element {
font-synthesis-small-caps: none;
font-synthesis-style: none;
font-synthesis-weight: none;
font-synthesis: none;
}
Самодостаточные
modal
: позволяет задать, что элемент является модальным:
.element {
modal: true;
}
has()
позволяет задать, что элемент содержит другой элемент:
.element {
has(.child) {
color: red;
}
}
@layer
позволяет задать слой для стилей:
@layer base {
.element {
color: red;
}
}
object-view-box
позволяет задать область просмотра для объекта:
.element {
object-view-box: 0 0 100px 100px;
}
То ли ещё будет в 2023 🐇