LUMA

GLASS / NEON / MOTION · SKILL

Этот стиль — в вашем агенте.

Установите скилл из GitHub и используйте материалы, компоненты и правила движения в своих проектах.

Codex

npx skills add https://github.com/rdsolod-ui/glass-neon-motion-skill/tree/main/skill/glass-neon-motion --agent codex --global --copy

В терминале · для всех проектов

Claude Code

npx skills add https://github.com/rdsolod-ui/glass-neon-motion-skill/tree/main/skill/glass-neon-motion --agent claude-code --global --copy

В терминале · для всех проектов

Нужен Node.js 22.20 или новее. После установки откройте новый чат и попросите использовать glass-neon-motion. При обновлении сохраните свои правки перед заменой файлов. Инструкция на GitHub ↗

Интерфейсная лаборатория / 05

Glass Atlas.

Прозрачность. Свет. Глубина. Коллекция материалов, элементов и движений для живого интерфейса.

24 группы UI76 рабочих примеров39 motion-этюдов

Движение включено

Пять галерей.
Пять задач.

Маршруты website-reference-pack. Референсы композиции, не лицензия на копирование и не готовые компоненты. Проверено 23 октября 2026.

Supahero

Первый экран и иерархия заголовка. Сайт сообщает о переходе в Screensdesign.

Открыть галерею ↗

Сравнение материалов

Для интерактивного сравнения компонентов включите JavaScript. Готовые примеры Clear, Frost и вариантов края доступны в разделе «Стекло» ниже.

Theme Studio / экспорт настроек

Ваше стекло.
Ваши правила.

Настройте материал, палитры и отклик. Получите CSS-токены, JSON и небольшой runtime для анимаций. Изменения сразу видны в мудборде.

01 / Материал

Для Clear сохраняем резкость, для Frost — мягкую диффузию. Плоский край и объёмная грань настраиваются независимо.

02 / Две палитры

Светлая

Тёмная

Текст на акценте выбирается автоматически. Слишком тёмный светлый фон или слишком светлый тёмный фон не применяются. Плотность ограничивается расчётным контрастом.

Расчёт относится к заданным подложкам. При переносе проверьте контраст с реальными изображениями и содержимым.

03 / Форма и движение

Системная настройка уменьшенного движения всегда имеет приоритет.

Типографика / 47 образцов

Смысл.
С весом.

Manrope и новый editorial-набор Onest / Inter по типографическому ритму WowPovod. Жирные акценты, ясная иерархия и конечное движение. Все примеры доступны для подборок и экспорта.

01 / Крупный акцент

Свет.
Форма.
Характер.

02 / Главный заголовок

Видеть глубже.

Прозрачный материал. Выразительная типографика.

03 / Иерархия заголовков

Раздел истории

Название главы

Тема внутри главы
Деталь и пояснение

04 / Лид и вводный текст

Хороший интерфейс начинается с ясного сообщения. Материал поддерживает смысл.

05 / Основной текст

Свет проходит сквозь стекло, оставляя фон различимым. Спокойная строка помогает читать длинные объяснения. Главная мысль получает вес. Остальному тексту достаточно пространства.

06 / Длинное чтение

Пространство для мысли

Не каждый фрагмент должен привлекать одинаковое внимание. Заголовок обозначает маршрут, вводный текст задаёт контекст, а основной абзац раскрывает подробности.

Разумная длина строки и устойчивый межстрочный интервал сохраняют ритм чтения на широком и узком экране.

07 / Цитата и автор

«Ясность — самая выразительная форма внимания».Демонстрационная цитата · LUMA

08 / Надзаголовок и метка

Коллекция / 2026

Прозрачный характер

Новый материал

09 / Подпись и источник

Рисунок 01. Свет на оптическом крае.

Материал: clear · Слой: depth · Авторский этюд

10 / Поля и подсказки

Короткое название поможет найти её позже.

11 / Ошибка, успех, информация

Ошибка. Укажите название.

Готово. Изменения сохранены.

Демонстрационные сообщения состояния.

13 / Числа, KPI и единицы

128 м²

Демонстрационное значение

Изменение
+12,8 %
Время
01:24:09

14 / Цена и условия

2 490 ₽

Демонстрационная цена за комплект.

2 990 ₽ · Экономия 500 ₽

15 / Таблица и числовой ряд

Демонстрационные параметры
МатериалСлойЗначение
ClearDepth0,8
FrostFilm16,0

16 / Список и определения

  • Прозрачность сохраняет фон.
  • Жирное начертание выделяет смысл.
  • Интервалы связывают фрагменты.
Clear
Прозрачный материал.
Depth
Оптическая глубина края.

17 / Код и клавиши

Токен --type-body

font-weight: 800;
line-height: 1.1;

Сохранить: Ctrl + S

19 / Смысловое выделение

Важное — жирным. Смысловое ударение — прямым начертанием. Выделение — на спокойной подложке.

UI · H2O · м2

20 / Пустое состояние

Здесь будет ваша подборка

Выберите компоненты в атласе и сохраните их вместе.

21 / Кириллица и латиница

Ёж, щука, чай. Свет и тень.

Clear type. Bold ideas.

0123456789 · № 24 · 50 % · ₽ € $

22 / Кинотитр

Авторская серия / 01

СВЕТ
ОСТАЁТСЯ.

Появление слоями · 900 мс

23 / Постепенное раскрытие

Материал открывается.
Смысл остаётся.

Маска и мягкое смещение · 900 мс

24 / Масштаб и ритм

2026

Год новых идей

Мягкий масштаб · 900 мс

25 / Фиолетовый акцент

Глубина мысли.

26 / Бирюзовый акцент

Свежий взгляд.

27 / Розовый акцент

Смелый голос.

28 / Янтарный акцент

Тёплый свет.

29 / Двухцветная типографика

Смысл.
Движение.

30 / Проявление резкости

В фокусе.

31 / Боковое раскрытие

Новый ракурс.

32 / Глубина перспективы

Ближе к сути.

33 / Шторка по горизонтали

Открытый смысл.

34 / Сборка ритма

РИТМ.

35 / Каскад тезисов

Сначала увидеть.

Затем понять.

И действовать.

36 / Editorial / главный экран

01 Материал и характер

Стекло для живых интерфейсов.

Прозрачность оставляет место содержанию. Типографика задаёт ритм и помогает увидеть главное.

Исследовать систему

37 / Editorial / заголовок раздела

02 Коллекция

Один материал — много сценариев.

От короткого действия до длинного чтения. Размер, вес и паузы связывают элементы одной страницы.

38 / Editorial / текст карточки

Clear · глубина

У каждого слоя свой голос

Заголовок остаётся плотным и коротким. Описание получает свободный интервал, чтобы спокойно объяснить назначение материала.

Читать описание

39 / Editorial / характеристики

Паспорт поверхности

Материал
Прозрачное стекло
Варианты
2D · 3D
Диффузия
0,8–16 px
Режим
Светлый · тёмный

Учебные параметры: значения меняются в редакторе темы.

40 / Editorial / метки и счётчики

03 Навигационный ритм

Малый текст. Ясная роль.

Новая коллекция01 / 12Без движения

Метки короткие. Разрядка относится к надписям, а не к основному абзацу.

41 / Editorial / числа и единицы

04 Учебная метрика

128 м²

Пространство для смысла

Единицы тише числа. Табличные цифры сохраняют ширину при обновлении значения.

42 / Editorial / длинное чтение

Когда тексту нужен воздух

Крупный заголовок открывает тему. Вводный абзац помогает понять её без лишних деталей.

Основной текст набран нейтральным гротеском. У строки есть предел ширины, а у абзацев — понятные паузы. В длинном объяснении читатель не должен искать, где заканчивается одна мысль и начинается следующая.

Иерархия внутри раздела

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

43 / Editorial / тезис и автор

05 Демонстрационный тезис

«Пауза между словами тоже работает на смысл».Учебная композиция · LUMA

44 / Editorial / действия

Выберите свой ритм

Главное действие получает вес. Дополнительная ссылка остаётся заметной и спокойной.

Ссылки ведут к разделам исходного атласа; серверной операции нет.

45 / Editorial / вопрос и ответ

06 Короткий ответ

Как сохранить читаемость на стекле?

Начните с контраста и длины строки. Добавляйте свет и прозрачность после того, как сообщение хорошо читается на спокойной поверхности.

46 / Editorial / цена и условия

Демонстрационный тариф

Набор для старта

2 490 ₽

Единица
За учебный комплект
Состав
Тема · компоненты · код

Пример оформления цены. Покупка и оплата не подключены.

47 / Editorial / контраст голосов

07 Кириллица и латиница

Сильный голос.
Clear ideas.

Onest — заголовки и акценты. Inter — основной текст. Оба шрифта поставляются с кириллицей: Ёж, щука, чай, № 12.

Прямые начертания · без курсива и засечек

24 группы / рабочая библиотека

Всё начинается
с взаимодействия.

Нажмите, выберите, раскройте. 76 рабочих примеров: от свитчера до диаграммы. Все данные учебные, действия остаются в браузере.

Компоненты · HTML · анимации · композиции · референсы. Русские и английские названия.

Край стекла

76 рабочих примеров в 24 группах

Каждая группа раскрывается отдельно. «Рабочий пример» означает локальное поведение в пределах подписи; платежи, отправка сообщений и настоящая авторизация не подключены.

01

Основа и токены

3 примера

Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.

Рабочий пример#

Светлая и тёмная тема

THEME SYSTEM
Свет меняет материал.

Текст, поля и акценты переключаются вместе.

Тема соответствует общей настройке страницы.

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Акцент без потери смысла

01 / Glass study

Цвет обозначает акцент, подпись сохраняет смысл.

Cyan выбран

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Плотность и типографика

  • ManropeКириллица / Aa Бб 0123
  • 16 pxРазмер полей ввода
  • 1.5Межстрочный интервал

Свободная плотность

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

02

Иконки и пиктограммы

2 примера

Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.

Рабочий пример#

Шесть начертаний Phosphor

Выбрано: Regular

Официальные локальные SVG Phosphor. MIT-лицензия и URL исходников сохранены в assets/icons/phosphor.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Иконка с именем и состоянием

Не добавлено в избранное

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

03

Кнопки и действия

3 примера

Приоритет, выбор команды и завершение операции.

Рабочий пример#

Иерархия действий

Frost / 01

1 слой. Добавьте ещё один или сбросьте композицию.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Добавление слоя: короткое появление нового элемента; reset мгновенный. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Busy → success / error

Учебная операция длится 1,2 секунды. Сервер не используется.

Готово к сборке.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Один конечный переход состояния; повторный запуск и отмена не оставляют старый результат. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Основное действие и варианты

Другой формат
Формат: Карточка

Выберите формат, затем создайте элемент.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

После выбора команды показан её результат. Native details не требует анимации. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

04

Призывы к действию

3 примера

Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.

Рабочий пример#

Hero CTA с результатом

ОПТИКА И ИНТЕРФЕЙС
Начните с одного слоя.

Выберите образец и откройте его спецификацию.

Смотреть токены

Палитра ещё не выбрана

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Закрываемый промобаннер

Баннер открыт

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Контекстный CTA и подтверждение

Сохраните подборку в рамках этой сессии.

Подборка не сохранена

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

05

Переключение и выбор

3 примера

Настройка сразу меняет объект; множественный и единичный выбор различаются.

Рабочий пример#

Switch с настоящим результатом

Меняет подсветку карточки ниже. Название переключателя остаётся постоянным.

AMBIENT / 01Свет за стеклом

Подсветка включена.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Thumb следует новому checked; при reduced состояние меняется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Checkbox и mixed-состояние

Слои для экспорта

Выбран 1 из 3 слоёв.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Частичный выбор показывается нативным indeterminate; без декоративной задержки. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Карточки выбора и оценка

Один материал
Оценка удобства, от 1 до 5

Frost · оценка 4 из 5.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Нативные radio: стрелки меняют выбор, цифры не полагаются только на цвет. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

06

Поля и ввод

3 примера

Постоянная подпись, понятный пример ввода и видимое значение.

Рабочий пример#

Label / placeholder / help / value

Подпись остаётся видимой после ввода; placeholder исчезает.

px

Проект ещё не назван · 1280 px.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Изменение значения без задержки; placeholder не заменяет label. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Textarea и счётчик

0 / 180 знаков · высота растёт до 8 строк

Здесь появится ваше описание.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Высота поля следует содержимому, без анимации набора текста. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Пароль и одноразовый код

Введите любой код из шести цифр. Проверяется формат, не подлинность.

Учебные поля. Не вводите настоящий пароль.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Показ пароля мгновенный. Код остаётся одним полем для вставки и клавиатуры. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

07

Селекторы

3 примера

Нативный выбор, поиск варианта и диапазон значений.

Рабочий пример#

Select и множественный выбор

Дополнительные слои · несколько вариантов

Frost · без дополнительных слоёв.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Нативный select, chips используют checkbox и не маскируются под listbox. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Combobox с клавиатурой

Стрелки — вариант, Enter — выбрать, Escape — закрыть. Можно касаться строки.

Выбор ещё не сделан.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Список появляется сразу; active descendant не забирает фокус из поля. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Диапазон, дата и цвет

Диапазон 20–80 · 50%

Допустимое значение: 20–80. Дата: 2026-10-22.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Range следует прямому вводу без инерции; границы согласованы, результат виден. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

08

Подсказки и объяснения

3 примера

Короткий tooltip, интерактивный popover и пошаговое обучение.

Рабочий пример#

Tooltip: hover / focus / touch

Наведите указатель, перейдите Tab или коснитесь кнопки. Escape скрывает пояснение. В tooltip нет интерактивных элементов.

Пояснение также доступно при фокусе.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Короткое появление после pointer-задержки; фокус и touch без ожидания. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Popover с действием

Подсказка по материалу

Плотный фон защищает длинный текст. Выберите, где показывать помощь.

Короткое название помогает найти материал в каталоге.

Inline-помощь включена.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Native popover содержит интерактивный контроль; закрывается Escape и снаружи. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Пошаговое объяснение

01 · Материал02 · Акцент03 · Проверка
Обзор из трёх шагов

Объяснения остаются рядом с объектами и не блокируют страницу.

Обзор ещё не начат.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Подсветка активного этапа меняется; focus остаётся на кнопке управления. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

09

Header и burger-меню

2 примера

Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.

Рабочий пример#

Навигационная шапка

LUMASTUDIO
Главная

Оптические интерфейсы.

О нас

Учебная студия LUMA.

Ссылки ведут к реальным секциям внутри этого образца.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Burger с раскрытием

LUMA MOBILE
Коллекция

Меню закрывается по Escape и при выборе ссылки.

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

10

Навигация и маршруты

3 примера

Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.

Рабочий пример#

Хлебные крошки

Две ссылки возвращают к реальным разделам карты.

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Пагинация коллекции

  • Образец 1 — прозрачная плёнка
  • Образец 2 — матовое стекло
  • Образец 3 — глянцевое стекло

Страница 1 из 3

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Вертикальная навигация

Обзор

Три локальных раздела без перехода на другой сайт.

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

12

Поиск и фильтрация

3 примера

Сочетание запроса и фильтров, команды и сохранённое представление.

Рабочий пример#

Палитра команд

Команды образца

Слоёв: 1 · обычная подложка

Палитра управляет только этим образцом.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Native dialog; стрелки перемещают по командам, Escape возвращает фокус. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Сохранённое представление

Показывать типы поверхности
Frost / 2DLens / 3D

Выбрано: 2D, 3D. Сохранение только в памяти страницы.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Фильтр меняет видимые элементы; восстановление не делает сетевых запросов. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

13

Карточки и контент

3 примера

Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.

Рабочий пример#

Карточка с избранным

Прозрачная геометрия

Цвет и контраст читаются сквозь слой.

Карточка вне коллекции

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

FAQ с независимыми разделами

Чем плёнка отличается от стекла?

Плёнка не показывает толщину. Стекло передаёт её направленными краевыми бликами и внутренней тенью.

Матовый или глянцевый?

Матовая поверхность рассеивает фон; глянцевая сохраняет его ясность и добавляет отражённый свет.

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Фильтрация карточек

  • Прозрачная плёнка
  • Матовое стекло
  • Глянцевое стекло

Показано 3 материала

Учебный пример: изменения остаются на странице.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

14

Медиа и файлы

2 примера

Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.

Рабочий пример#

Локальный preview изображения

Файл не выбран. Ничего не загружается на сервер.

Проверяется формат и размер. Object URL освобождается при замене, очистке и уходе со страницы.

Как движется

После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

15

Таблицы и данные

3 примера

Сортировка, фильтрация, массовые действия, раскрытие и проверяемое редактирование. Состояния локальные; данные учебные.

Рабочий пример#

Реестр: сортировка, фильтр и выбор

Учебный реестр · 6 материалов

Материалы · демонстрационные количества, ед.
Статус
Aurora12Черновик
Clear28Готово
Frost24Черновик
Prism36Черновик
Smoke18Готово
Solid0Готово
Показано 6 из 6 · выбрано 0

Выбор сохраняется при фильтрации. Общий переключатель выбирает только видимые строки; массовое действие относится ко всем выбранным.

Демонстрационный реестр. Выбранные строки сохраняются при фильтре; массовое действие не отправляет данные.

Как движется

Семантическое состояние меняется сразу; конечный отклик строки 240 мс подтверждает сортировку и массовое действие. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Раскрываемые записи

Прогрессивное раскрытие · 3 записи

Frost24 ед.
Поверхность
Матовая плёнка
Описание
Плоская поверхность с рассеиванием фона. Без декоративного контура и объёмной фаски.
Clear28 ед.
Поверхность
Глянцевая плёнка
Описание
Слабая тонировка сохраняет резкость фона. Направленный блик обозначает поверхность без толщины.
Prism36 ед.
Поверхность
Оптическое стекло
Описание
Локальный внутренний блик и тень задают толщину. Визуальные величины графиков остаются плоскими.

Каждая строка открывается клавишами Enter или Space. Раскрытие работает и без JavaScript.

Нативные details доступны без JavaScript; общее управление добавляется после загрузки скрипта.

Как движется

Нативное раскрытие без сдвигов и растянутых переходов. Кнопка раскрывает или сворачивает все записи. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Редактирование и валидация

Редактирование на месте · 5 баллов за единицу

Учебный расчёт · значения не сохраняются после перезагрузки
МатериалКоличество, ед.БаллыДействие
Frost20
Clear30
Prism40

Целое число 0–99. Enter сохраняет, Escape отменяет. Итог пересчитывается после сохранения.

Выберите строку для изменения.

Локальные условные баллы, не цена и не платёж. Значения 0–99; Escape возвращает предыдущее число.

Как движется

После валидного сохранения короткая подсветка 240 мс; ошибка остаётся видимой, пока значение не исправлено. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

16

Графики и диаграммы

12 примера

12 рабочих SVG-примеров: сравнение, время, распределение, связи, доли, иерархия, потоки, условная география и мониторинг. Точные значения доступны таблицей.

Рабочий пример#

Сортируемые столбцы

Сравнение / ед. / демоданные

Сортируемые столбцы. Набор A.Сумма 100 ед. Исходный порядок. Значения приведены в таблице после графика.01020304050Frost42Smoke28Prism18Solid12ед.

На узком экране график прокручивается; точные значения — в таблице ниже.

  • Frost
  • Smoke
  • Prism
  • Solid

Сумма 100 ед. Исходный порядок.

Таблица значений · 4 строк
Сортируемые столбцы — набор A, демоданные
МатериалКоличество, ед.
Frost42
Smoke28
Prism18
Solid12

Длина от нуля; сортировка меняет порядок, а не значения.

Набор A · учебный пример

Длина от нуля; сортировка меняет порядок, а не значения. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Сравнение двух серий

Сравнение / ед. / демоданные

Серии
Сравнение двух серий. Набор A.Показаны серии: План, Факт. Значения приведены в таблице после графика.0255075100ед.3050Frost4535Smoke6070Prism5540Solid

На узком экране график прокручивается; точные значения — в таблице ниже.

  • План
  • Факт

Показаны серии: План, Факт.

Таблица значений · 4 строк
Сравнение двух серий — набор A, демоданные
МатериалПлан, ед.Факт, ед.
Frost3050
Smoke4535
Prism6070
Solid5540

Общая линейная шкала. Серии различаются цветом и узором.

Набор A · учебный пример

Общая линейная шкала. Серии различаются цветом и узором. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Линия с пропуском

Время / ед. / демоданные

Серии
Линия с пропуском. Набор A.Шкала 0–100 ед.; пропуск показан разрывом. Май—октябрь, учебный период. Значения приведены в таблице после графика.0255075100ед.3036485660682432нет475564МайИюнИюлАвгСенОкт

На узком экране график прокручивается; точные значения — в таблице ниже.

  • План
  • Факт

Шкала 0–100 ед.; пропуск показан разрывом. Май—октябрь, учебный период.

Таблица значений · 6 строк
Линия с пропуском — набор A, демоданные
МесяцПлан, ед.Факт, ед.
Май3024
Июнь3632
Июль48Нет данных
Август5647
Сентябрь6055
Октябрь6864

Разрыв — отсутствие наблюдения, не ноль. Пропуск не интерполируется.

Набор A · учебный пример

Разрыв — отсутствие наблюдения, не ноль. Пропуск не интерполируется. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Распределение по интервалам

Распределение / наблюдений / демоданные

Распределение по интервалам. Набор A.24 наблюдения. Ширина интервала 4 мин. Сумма частот 24. Значения приведены в таблице после графика.06121824наблюдений40746871216Длительность, мин

На узком экране график прокручивается; точные значения — в таблице ниже.

  • Частота

24 наблюдения. Ширина интервала 4 мин. Сумма частот 24.

Исходные значения, мин: 1, 2, 2, 3, 4, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 16, 16.

Таблица значений · 4 строк
Распределение по интервалам — набор A, демоданные
Интервал, минНаблюдений
[0; 4)4
[4; 8)7
[8; 12)6
[12; 16]7

Равные интервалы [a, b), последний включает правую границу. Исходная выборка доступна ниже.

Набор A · учебный пример

Равные интервалы [a, b), последний включает правую границу. Исходная выборка доступна ниже. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Связь двух величин

Связи / мин / баллы / демоданные

Серии
Связь двух величин. Набор A.8 наблюдений. Круг — A; ромб — B. Значения доступны в таблице. Значения приведены в таблице после графика.0255075100Баллы0246810Время, минP1P2P3P4P5P6P7P8

На узком экране график прокручивается; точные значения — в таблице ниже.

  • Команда A
  • Команда B

8 наблюдений. Круг — A; ромб — B. Значения доступны в таблице.

Таблица значений · 8 строк
Связь двух величин — набор A, демоданные
НаблюдениеКомандаВремя, минБаллы
P1Команда A125
P2Команда A236
P3Команда A455
P4Команда A662
P5Команда B320
P6Команда B545
P7Команда B770
P8Команда B988

Каждая точка — отдельное учебное наблюдение; связь не доказывает причинность.

Набор A · учебный пример

Каждая точка — отдельное учебное наблюдение; связь не доказывает причинность. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Доли целого

Доли / ед. / % / демоданные

Доли целого. Набор A.Всего 100 ед. Четыре доли образуют 100%. Значения приведены в таблице после графика.100ед. всегоFrost 42% · Smoke 28% · Prism 18% · Solid 12%

На узком экране график прокручивается; точные значения — в таблице ниже.

  • Frost
  • Smoke
  • Prism
  • Solid

Всего 100 ед. Четыре доли образуют 100%.

Таблица значений · 4 строк
Доли целого — набор A, демоданные
МатериалКоличество, ед.Доля, %
Frost4242
Smoke2828
Prism1818
Solid1212

Сектора рассчитаны от общей суммы. Точные значения и доли есть в таблице.

Набор A · учебный пример

Сектора рассчитаны от общей суммы. Точные значения и доли есть в таблице. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Нормированные группы

Доли / % / демоданные

Серии
Нормированные группы. Набор A.Показаны серии: План, Факт. Сумма каждой строки — 100% выбранных серий. Значения приведены в таблице после графика.0%25%50%75%100%Frost37,562,5Smoke56,343,8Prism46,253,8Solid57,942,1

На узком экране график прокручивается; точные значения — в таблице ниже.

  • План
  • Факт

Показаны серии: План, Факт. Сумма каждой строки — 100% выбранных серий.

Таблица значений · 4 строк
Нормированные группы — набор A, демоданные
МатериалПлан, ед.Факт, ед.План, %Факт, %
Frost305037,562,5
Smoke453556,343,8
Prism607046,253,8
Solid554057,942,1

Каждая строка нормируется до 100% выбранных серий. Абсолютные значения не теряются в таблице.

Набор A · учебный пример

Каждая строка нормируется до 100% выбранных серий. Абсолютные значения не теряются в таблице. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Иерархия площадей

Иерархия / ед. / демоданные

Иерархия площадей. Набор A.Вся иерархия: 100 ед. Площади пропорциональны долям выбранной ветви. Значения приведены в таблице после графика.Frost42 ед.Smoke28 ед.БазовыеPrism18 ед.Solid12 ед.Оптические

На узком экране график прокручивается; точные значения — в таблице ниже.

  • Frost
  • Smoke
  • Prism
  • Solid

Вся иерархия: 100 ед. Площади пропорциональны долям выбранной ветви.

Таблица значений · 4 строк
Иерархия площадей — набор A, демоданные
ВетвьМатериалКоличество, ед.
БазовыеFrost42
БазовыеSmoke28
ОптическиеPrism18
ОптическиеSolid12

Два уровня, алгоритм slice-and-dice. Площадь пропорциональна величине; можно раскрыть ветвь.

Набор A · учебный пример

Два уровня, алгоритм slice-and-dice. Площадь пропорциональна величине; можно раскрыть ветвь. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Потоки между этапами

Потоки / ед. / демоданные

Потоки между этапами. Набор A.Вход = выход = 120 ед. Толщина каждого потока использует общий масштаб. Значения приведены в таблице после графика.Прямой40Поиск40Письмо40Обзор40Пример40Экспорт40

На узком экране график прокручивается; точные значения — в таблице ниже.

  • Прямой
  • Поиск
  • Письмо

Вход = выход = 120 ед. Толщина каждого потока использует общий масштаб.

Таблица значений · 9 строк
Потоки между этапами — набор A, демоданные
ИсточникНазначениеПоток, ед.
ПрямойОбзор20
ПрямойПример10
ПрямойЭкспорт10
ПоискОбзор5
ПоискПример25
ПоискЭкспорт10
ПисьмоОбзор15
ПисьмоПример5
ПисьмоЭкспорт20

Двухэтапный Sankey: ширина ленты пропорциональна потоку. Суммы входов и выходов равны.

Набор A · учебный пример

Двухэтапный Sankey: ширина ленты пропорциональна потоку. Суммы входов и выходов равны. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Схематическая хороплетная карта

География / % / демоданные

Схематическая хороплетная карта. Набор A.Шесть вымышленных областей; цвет кодирует процент, не площадь региона. Границы шкалы 0 / 25 / 50 / 75 / 100%. Значения приведены в таблице после графика.R165%R235%R380%R420%R555%R695%

На узком экране график прокручивается; точные значения — в таблице ниже.

Шесть вымышленных областей; цвет кодирует процент, не площадь региона. Границы шкалы 0 / 25 / 50 / 75 / 100%.

  • 0–<25%
  • 25–<50%
  • 50–<75%
  • 75–100%
Таблица значений · 6 строк
Схематическая хороплетная карта — набор A, демоданные
Условная областьДоля, %
R165
R235
R380
R420
R555
R695

Авторская условная география из шести областей; не реальные территории, границы или статистика.

Набор A · учебный пример

Авторская условная география из шести областей; не реальные территории, границы или статистика. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Цель и история показателя

Мониторинг / % / демоданные

Цель и история показателя. Набор A.Последнее значение 64%. Цель 70%. До цели 6 п. п. Значения приведены в таблице после графика.0%40%70%100%Факт / цель 70%64История · периоды 1–8 · шкала 0–100%

На узком экране график прокручивается; точные значения — в таблице ниже.

  • Факт

Последнее значение 64%. Цель 70%. До цели 6 п. п.

Таблица значений · 8 строк
Цель и история показателя — набор A, демоданные
ПериодЗначение, %Цель, %
13570
24070
33870
45070
55270
65870
76170
86470

Bullet со шкалой 0–100, целью 70 и историей из восьми учебных периодов.

Набор A · учебный пример

Bullet со шкалой 0–100, целью 70 и историей из восьми учебных периодов. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Контрольные границы

Мониторинг / ед. / демоданные

Контрольные границы. Набор A.0 из 8 точек вне учебных границ. Ромб обозначает выход. Значения приведены в таблице после графика.0255075100ед.481522503474515496537508Номер наблюдения

На узком экране график прокручивается; точные значения — в таблице ниже.

  • Значение

0 из 8 точек вне учебных границ. Ромб обозначает выход.

  • Центр 50 ед.
  • LCL 35 / UCL 65 ед.
Таблица значений · 8 строк
Контрольные границы — набор A, демоданные
НаблюдениеЗначение, ед.Статус
148Внутри границ
252Внутри границ
350Внутри границ
447Внутри границ
551Внутри границ
649Внутри границ
753Внутри границ
850Внутри границ

Учебные фиксированные границы 35/65 и центр 50; это не статистически оценённые нормативы процесса.

Набор A · учебный пример

Учебные фиксированные границы 35/65 и центр 50; это не статистически оценённые нормативы процесса. Наборы A/B — вымышленные учебные данные. Это 12 действующих примеров, а не утверждение о покрытии всех существующих типов графиков.

Как движется

Данные и доступное описание обновляются сразу. Подсветка сводки 240 мс подтверждает новый набор; анимация не искажает длины, площади или шкалы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

17

Организация содержимого

3 примера

Вкладки с панелями, вложенное раскрытие и master/detail.

Рабочий пример#

Вкладки с настоящими панелями

Оптика

Цветная форма продолжается под плёнкой и рассеивается внутри неё.

Контраст

Текст располагается на стабильном фоне; неон остаётся акцентом.

Движение

Изменение состояния видно и при выключенной анимации.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Ручная активация: стрелки меняют фокус, Enter/Space открывают панель. Без JS видны все разделы. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Раскрытие и вложенная структура

Материал 3 слоя
  • Плёнка — прозрачность 44%
  • Локальная кромка

    Свет сверху слева, затухание к нижнему краю.

  • Подложка — cyan / violet
Что меняется в Solid?

Прозрачность и размытие убираются, структура и контраст сохраняются.

Материальная плоскость

Кромка включена. Это дерево native details, не ARIA treeview.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Нативное раскрытие без JS; настройка локально меняет кромку. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Master/detail и ширина панели

Frost

Мягкое рассеивание для фоновых панелей.

Выбран Frost. На узком экране панели расположены вертикально.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Выбор обновляет соседнюю панель; range сохраняет клавиатурную альтернативу перетаскиванию. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

18

Наложения и окна

3 примера

Диалог редактирования, подтверждение и нижняя панель.

Рабочий пример#

Dialog: редактирование и возврат фокуса

Название материала

Morning frost

Изменения действуют только в этом образце.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Native modal держит фокус; Cancel/Escape не изменяют значение. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Подтверждение удаления

Слой ReflectionУчебная запись, 12 KB

Удалить учебный слой?

Это локальный пример. Запись можно восстановить кнопкой под карточкой.

Слой присутствует.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Безопасная кнопка получает первый фокус; результат объявляется после подтверждения. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Bottom sheet с выбором

Поверхность образца

Вариант
Frost

Выбран Frost. Выбор применяется только после подтверждения.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Панель входит снизу коротким движением; Escape отменяет неподтверждённый выбор. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

19

Обратная связь

3 примера

Реальный локальный результат, отмена и журнал уведомлений.

Рабочий пример#

Snackbar и Undo

Образец AuroraНаходится в коллекции

Образец в коллекции. Undo не исчезает по таймеру.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Snackbar появляется после действия; отмена возвращает запись, не крадёт фокус. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Alert: offline → retry → ready

Демонстрационный offline

Новые данные недоступны. Последняя локальная копия сохранена.

Сеть не проверяется: это явная симуляция состояний.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Конечная локальная проверка; отмена старого retry при новом состоянии. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Центр уведомлений

Непрочитано: 2
  • Материал Frost добавлен
  • Контраст проверен

2 непрочитанных уведомления.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Новая запись появляется ограниченно; чтение меняет счётчик и текст, не только цвет. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

20

Ожидание и отсутствие данных

3 примера

Измеримый прогресс, скелетон и выход из пустого состояния.

Рабочий пример#

Progress с отменой

0 из 5

Обработано 0 из 5. Это учебный таймер, не загрузка файла.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Шкала отражает выполненные шаги; прерывание сохраняет достигнутое значение. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Skeleton → содержимое

Готово

Материал Aurora

Матовая плёнка и локальный голубой акцент.

Данные уже видимы. По кнопке — симуляция ожидания 1 секунду.

Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

Как движется

Один проход skeleton через API, затем контент; в reduced остаётся статичный скелетон. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

Рабочий пример#

Empty / error / retry

Коллекция пуста

Создайте первый материал — он появится здесь.

    0 материалов.

    Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

    Как движется

    Состояние объясняет следующее действие; retry создаёт локальный образец. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

    21

    Формы и сценарии

    3 примера

    Проверка, пошаговый ввод и сохранение черновика.

    Рабочий пример#

    Форма с summary ошибок

    Форма только проверяет значения, ничего не отправляет.

    Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

    Как движется

    Ошибки появляются у полей и в summary; focus на summary, без тряски. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

    Рабочий пример#

    Wizard: ввод → выбор → проверка

    1. Название
    2. Материал
    3. Проверка
    1. Название
    2. Материал

    3. Проверка

    Проверьте введённые данные.

    Шаг 1 из 3. Все данные остаются на странице.

    Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

    Как движется

    Переход между шагами объясняет порядок; введённое сохраняется при возврате. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

    Рабочий пример#

    Черновик: save / cancel / dirty

    Нет изменений

    Это локальный черновик, перезагрузка очищает сохранённое.

    Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

    Как движется

    Dirty-состояние обновляется при вводе; cancel возвращает последнее локальное сохранение. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

    22

    Товар и корзина

    2 примера

    Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.

    Рабочий пример#

    Товар с вариантом

    Демо-цены. Оплата не подключена.

    Учебный пример: изменения остаются на странице.

    Как движется

    После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

    Рабочий пример#

    Корзина с расчётом

    Связана с карточкой товара и кнопкой с иконкой.

    Корзина пуста

    Итого: 0 ₽

    Количество, удаление и сумма работают локально. Заказ не создаётся, реальные платежи отсутствуют.

    Как движется

    После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

    23

    Аккаунт и настройки

    3 примера

    Безопасная демонстрация входа, предпочтений и согласий.

    Рабочий пример#

    Вход: локальная проверка формы

    Учебная форма: используйте любые вымышленные данные. Настоящей авторизации нет.

    Не авторизовано. Пароль не хранится и не отправляется.

    Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

    Как движется

    Форма проверяется локально; профиль появляется без сетевого запроса. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

    Рабочий пример#

    Настройки с локальным preview

    Aurora / материал

    Мягкая плёнка. Голубой локальный акцент.

    Последнее изменение: сейчас

    Настройки меняют только карточку ниже.

    Локальный интерактивный пример. Данные не отправляются и не сохраняются после перезагрузки.

    Как движется

    Новый вид применяется сразу; глобальная тема страницы не затрагивается. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

    24

    Сложные рабочие области

    3 примера

    Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.

    Рабочий пример#

    Kanban с клавиатурой

    План
    Настроить стеклоЗадача 01
    В работе
    Готово

    На карточке: Alt + ← / →. Или используйте кнопки.

    Задача в колонке «План»

    Перемещение доступно без drag. Это один локальный учебный элемент, не многопользовательский планировщик.

    Как движется

    После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

    Рабочий пример#

    Календарь с выбором даты

    Октябрь 2026

    Выберите дату. События не создаются.

    Учебный пример: изменения остаются на странице.

    Как движется

    После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

    Рабочий пример#

    Текстовый редактор с preview

    Стеклянная коллекция

    Сначала материал, затем движение.

    Простой preview: # заголовок, **жирный** текст.

    Preview создаётся безопасными DOM-узлами. HTML не выполняется. Текст не отправляется и не сохраняется постоянно.

    Как движется

    После действия короткий отклик opacity/translate 180–220 ms подтверждает новое состояние. Содержание обновляется сразу. CSS/WAAPI. Повторное действие прерывает предыдущий отклик; при reduced motion состояние меняется сразу. При уходе со страницы обработчики и анимации очищаются.

    Четыре характера / один интерфейс

    Матовый.
    Прозрачный. Глянцевый.

    Одинаковый фон под четырьмя поверхностями. По умолчанию — прозрачное глянцевое стекло. Сравните резкость, отражение и толщину. Выбранный материал применяется к оболочке страницы и рабочим UI-примерам.

    FROST / FILM

    Матовая плёнка

    Мягкое рассеивание. Плоский край без толщины.

    FROST / GLASS

    Матовое стекло

    Диффузия и локальная фаска. Свет собирается у края.

    CLEAR / FILM

    Глянцевая плёнка

    Почти резкий фон. Узкое отражение без объёмной кромки.

    CLEAR / GLASS

    Глянцевое стекло

    Прозрачная толща, направленный блик и внутренняя грань.

    Глянцевое стекло · 3D. CSS-имитация, без физической рефракции.

    Материал / свет / глубина

    2D плёнка.
    3D край.

    Авторские CSS-образцы по вашим референсам. Frost и Smoke — плоская плёнка без обводки. Liquid — объёмный край с направленным бликом и внутренней тенью. Цвет за стеклом раскрывает оба материала.

    Живой образец · управление мышью, клавиатурой и касанием
    2D плёнка · Светлая тема · № 2 / 9 / 17

    Свет сквозь матовую плёнку

    Чёткий объект вне панели становится мягким внутри. Перекрытие показывает расстояние между слоями.

    2D плёнка · Тёмная тема · № 2 / 9 / 17

    Свет сквозь матовую плёнку

    Чёткий объект вне панели становится мягким внутри. Перекрытие показывает расстояние между слоями.

    2D плёнка · Светлая тема · № 3 / 6 / 13

    Прозрачная глубина

    Цветная форма остаётся видна за дымчатой плоскостью. Текст получает собственный спокойный участок.

    2D плёнка · Тёмная тема · № 3 / 6 / 13

    Прозрачная глубина

    Цветная форма остаётся видна за дымчатой плоскостью. Текст получает собственный спокойный участок.

    3D край · Светлая тема · № 20 / 21 / 24

    Свет собирается на краях

    Двойной блик и внутренняя тень создают иллюзию толщины. Это CSS-стилизация, не физическая рефракция.

    3D край · Тёмная тема · № 20 / 21 / 24

    Свет собирается на краях

    Двойной блик и внутренняя тень создают иллюзию толщины. Это CSS-стилизация, не физическая рефракция.

    Variation layer / 01

    Один элемент.
    Разный характер.

    44 рабочих локальных вариантов в 15 семействах. Сравнивайте форму, плотность и поведение отдельно от материала. Все значения — демонстрационные.

    Материал: Clear / Frost и 2D / 3D

    Материал наследуется от общих переключателей «Стекло». Найти отдельный вариант можно через единый поиск UI выше. Скроллбары остаются системными: внешний вид зависит от браузера и ОС.

    Прогресс и показатели4 варианта
    Прогресс и показатели · live-local

    Линейный прогресс

    Обычная шкала с числом и подписью.

    Подготовка коллекции64%
    64%
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-progress-demo" data-progress-kind="linear"><div class="vx-line-label"><span>Подготовка коллекции</span><output>64%</output></div><progress class="vx-progress linear" max="100" value="64" aria-label="Подготовка коллекции">64%</progress><label class="ui-label" for="vx-value-linear">Изменить прогресс</label><input id="vx-value-linear" data-vx-range type="range" min="0" max="100" value="64"></div>
    Прогресс и показатели · live-local

    Тонкая линия

    Для компактной строки состояния.

    Подготовка коллекции64%
    64%
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-progress-demo" data-progress-kind="thin"><div class="vx-line-label"><span>Подготовка коллекции</span><output>64%</output></div><progress class="vx-progress thin" max="100" value="64" aria-label="Подготовка коллекции">64%</progress><label class="ui-label" for="vx-value-thin">Изменить прогресс</label><input id="vx-value-thin" data-vx-range type="range" min="0" max="100" value="64"></div>
    Прогресс и показатели · live-local

    Кольцевой индикатор

    Число внутри кольца, единый доступный progressbar.

    Подготовка коллекции64%
    64%
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-progress-demo" data-progress-kind="ring"><div class="vx-line-label"><span>Подготовка коллекции</span><output>64%</output></div><div class="vx-ring" role="progressbar" aria-label="Подготовка коллекции" aria-valuemin="0" aria-valuemax="100" aria-valuenow="64" style="--value:64"><span>64%</span></div><label class="ui-label" for="vx-value-ring">Изменить прогресс</label><input id="vx-value-ring" data-vx-range type="range" min="0" max="100" value="64"></div>
    Прогресс и показатели · live-local

    Сегментная шкала

    Десять дискретных секций и точный процент рядом.

    Подготовка коллекции64%
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-progress-demo" data-progress-kind="segments"><div class="vx-line-label"><span>Подготовка коллекции</span><output>64%</output></div><div class="vx-segments" role="progressbar" aria-label="Подготовка коллекции" aria-valuemin="0" aria-valuemax="100" aria-valuenow="64"><i class="on"></i><i class="on"></i><i class="on"></i><i class="on"></i><i class="on"></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i></div><label class="ui-label" for="vx-value-segments">Изменить прогресс</label><input id="vx-value-segments" data-vx-range type="range" min="0" max="100" value="64"></div>
    Прокрутка и чтение4 варианта
    Прокрутка и чтение · live-local

    Нативный скроллбар

    Системная механика, окрашенные ползунок и дорожка.

    01 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    02 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    03 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    04 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    05 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    06 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    07 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    Tab → область, затем стрелки. На телефоне — свайп.
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-scroll-demo"><div class="vx-scroll standard" tabindex="0" role="region" aria-label="Прокручиваемый текст, standard"><p><b>01 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>02 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>03 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>04 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>05 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>06 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>07 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p></div><small>Tab → область, затем стрелки. На телефоне — свайп.</small><button type="button" class="ui-btn" data-vx-action="scroll-start">В начало</button> <button type="button" class="ui-btn" data-vx-action="scroll-end">В конец</button></div>
    Прокрутка и чтение · live-local

    Компактный скроллбар

    Тонкий ползунок; область доступна клавишами и касанием.

    01 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    02 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    03 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    04 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    05 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    06 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    07 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    Tab → область, затем стрелки. На телефоне — свайп.
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-scroll-demo"><div class="vx-scroll thin" tabindex="0" role="region" aria-label="Прокручиваемый текст, thin"><p><b>01 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>02 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>03 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>04 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>05 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>06 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>07 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p></div><small>Tab → область, затем стрелки. На телефоне — свайп.</small><button type="button" class="ui-btn" data-vx-action="scroll-start">В начало</button> <button type="button" class="ui-btn" data-vx-action="scroll-end">В конец</button></div>
    Прокрутка и чтение · live-local

    Горизонтальная лента

    Нативная прокрутка и мягкое snap-позиционирование.

    Коллекция / 01Свет
    Коллекция / 02Глубина
    Коллекция / 03Цвет
    Коллекция / 04Форма
    Коллекция / 05Ритм
    Коллекция / 06Воздух
    Tab → область, затем стрелки. На телефоне — свайп.
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-scroll-demo"><div class="vx-scroll horizontal" tabindex="0" role="region" aria-label="Горизонтальная лента образцов"><div class="vx-slide"><span>Коллекция / 01</span><strong>Свет</strong></div><div class="vx-slide"><span>Коллекция / 02</span><strong>Глубина</strong></div><div class="vx-slide"><span>Коллекция / 03</span><strong>Цвет</strong></div><div class="vx-slide"><span>Коллекция / 04</span><strong>Форма</strong></div><div class="vx-slide"><span>Коллекция / 05</span><strong>Ритм</strong></div><div class="vx-slide"><span>Коллекция / 06</span><strong>Воздух</strong></div></div><small>Tab → область, затем стрелки. На телефоне — свайп.</small><button type="button" class="ui-btn" data-vx-action="scroll-start">В начало</button> <button type="button" class="ui-btn" data-vx-action="scroll-end">В конец</button></div>
    Прокрутка и чтение · live-local

    Прогресс чтения

    Шкала вычисляется по фактическому положению текста.

    Прочитано: 0%

    01 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    02 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    03 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    04 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    05 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    06 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    07 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.

    Tab → область, затем стрелки. На телефоне — свайп.
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-scroll-demo"><div class="vx-reading-label">Прочитано: <output>0%</output></div><progress max="100" value="0" aria-label="Прогресс чтения"></progress><div class="vx-scroll reading" tabindex="0" role="region" aria-label="Прокручиваемый текст, reading"><p><b>01 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>02 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>03 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>04 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>05 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>06 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p><p><b>07 / Материал и пространство.</b> Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.</p></div><small>Tab → область, затем стрелки. На телефоне — свайп.</small><button type="button" class="ui-btn" data-vx-action="scroll-start">В начало</button> <button type="button" class="ui-btn" data-vx-action="scroll-end">В конец</button></div>
    Ожидание и загрузка4 варианта
    Ожидание и загрузка · live-local

    Кольцо ожидания

    Короткая загрузка, завершение и отмена.

    Готово к демонстрации

    Локальная демонстрация, 2 секунды; без запроса к серверу.
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-load-demo" data-loading-kind="spinner"><div class="vx-load-surface" aria-busy="false"><span class="vx-spinner" aria-hidden="true"></span><p class="vx-load-status" role="status">Готово к демонстрации</p></div><button type="button" class="ui-btn" data-vx-action="load">Повторить загрузку</button> <button type="button" class="ui-btn" data-vx-action="cancel-load">Отменить</button><small>Локальная демонстрация, 2 секунды; без запроса к серверу.</small></div>
    Ожидание и загрузка · live-local

    Три точки

    Конечный ритм без бесконечного движения.

    Готово к демонстрации

    Локальная демонстрация, 2 секунды; без запроса к серверу.
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-load-demo" data-loading-kind="dots"><div class="vx-load-surface" aria-busy="false"><div class="vx-dots" aria-hidden="true"><i></i><i></i><i></i></div><p class="vx-load-status" role="status">Готово к демонстрации</p></div><button type="button" class="ui-btn" data-vx-action="load">Повторить загрузку</button> <button type="button" class="ui-btn" data-vx-action="cancel-load">Отменить</button><small>Локальная демонстрация, 2 секунды; без запроса к серверу.</small></div>
    Ожидание и загрузка · live-local

    Каркас содержимого

    Статический каркас, затем готовое содержание.

    Готово к демонстрации

    Локальная демонстрация, 2 секунды; без запроса к серверу.
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-load-demo" data-loading-kind="skeleton"><div class="vx-load-surface" aria-busy="false"><div class="vx-skeleton" aria-hidden="true"><i></i><i></i><i></i></div><p class="vx-load-status" role="status">Готово к демонстрации</p></div><button type="button" class="ui-btn" data-vx-action="load">Повторить загрузку</button> <button type="button" class="ui-btn" data-vx-action="cancel-load">Отменить</button><small>Локальная демонстрация, 2 секунды; без запроса к серверу.</small></div>
    Ожидание и загрузка · live-local

    Пустое состояние → данные

    Переход от пустой области к локальному результату.

    Готово к демонстрации

    Локальная демонстрация, 2 секунды; без запроса к серверу.
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-load-demo" data-loading-kind="empty"><div class="vx-load-surface" aria-busy="false"><div class="vx-empty-symbol" aria-hidden="true">—</div><p class="vx-load-status" role="status">Готово к демонстрации</p></div><button type="button" class="ui-btn" data-vx-action="load">Повторить загрузку</button> <button type="button" class="ui-btn" data-vx-action="cancel-load">Отменить</button><small>Локальная демонстрация, 2 секунды; без запроса к серверу.</small></div>
    Шаги и последовательности3 варианта
    Шаги и последовательности · live-local

    Горизонтальные шаги

    Текущий шаг, движение назад и вперёд.

    1. 1Материал
    2. 2Композиция
    3. 3Проверка

    Шаг 1 из 3 · Материал

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-step-demo horizontal" data-step="1"><ol class="vx-steps"><li aria-current="step"><span>1</span><b>Материал</b></li><li ><span>2</span><b>Композиция</b></li><li ><span>3</span><b>Проверка</b></li></ol><p role="status">Шаг 1 из 3 · Материал</p><button type="button" class="ui-btn" data-vx-action="step-back">Назад</button> <button type="button" class="ui-btn" data-vx-action="step-next">Далее</button></div>
    Шаги и последовательности · live-local

    Вертикальный маршрут

    Для узких колонок и длинных подписей.

    1. 1Материал
    2. 2Композиция
    3. 3Проверка

    Шаг 1 из 3 · Материал

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-step-demo vertical" data-step="1"><ol class="vx-steps"><li aria-current="step"><span>1</span><b>Материал</b></li><li ><span>2</span><b>Композиция</b></li><li ><span>3</span><b>Проверка</b></li></ol><p role="status">Шаг 1 из 3 · Материал</p><button type="button" class="ui-btn" data-vx-action="step-back">Назад</button> <button type="button" class="ui-btn" data-vx-action="step-next">Далее</button></div>
    Шаги и последовательности · live-local

    Компактный счётчик шагов

    Минимальная композиция с тем же состоянием.

    1. 1Материал
    2. 2Композиция
    3. 3Проверка

    Шаг 1 из 3 · Материал

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-step-demo compact" data-step="1"><ol class="vx-steps"><li aria-current="step"><span>1</span><b>Материал</b></li><li ><span>2</span><b>Композиция</b></li><li ><span>3</span><b>Проверка</b></li></ol><p role="status">Шаг 1 из 3 · Материал</p><button type="button" class="ui-btn" data-vx-action="step-back">Назад</button> <button type="button" class="ui-btn" data-vx-action="step-next">Далее</button></div>
    Варианты кнопок4 варианта
    Варианты кнопок · live-local

    Иерархия действий

    Основная, вторичная и текстовая кнопки.

    Нажмите доступную кнопку — результат появится здесь.

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-action-demo hierarchy"><div class="vx-action-row"><button class="ui-btn ui-primary" data-vx-action="choose">Основная</button><button class="ui-btn" data-vx-action="choose">Вторичная</button><button class="ui-btn vx-text-button" data-vx-action="choose">Текстовая</button></div><p role="status">Нажмите доступную кнопку — результат появится здесь.</p></div>
    Варианты кнопок · live-local

    Кнопка с выбором

    Округлая форма и явное pressed-состояние.

    Нажмите доступную кнопку — результат появится здесь.

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-action-demo toggle"><button class="ui-btn vx-pill" data-vx-action="toggle" aria-pressed="false">В избранное</button><p role="status">Нажмите доступную кнопку — результат появится здесь.</p></div>
    Варианты кнопок · live-local

    Три масштаба

    Разные внутренние отступы, зона нажатия от 44 px.

    Нажмите доступную кнопку — результат появится здесь.

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-action-demo sizes"><div class="vx-action-row"><button class="ui-btn vx-compact" data-vx-action="choose">Компактная</button><button class="ui-btn" data-vx-action="choose">Обычная</button><button class="ui-btn vx-large" data-vx-action="choose">Крупная</button></div><p role="status">Нажмите доступную кнопку — результат появится здесь.</p></div>
    Варианты кнопок · live-local

    Доступность и намерение

    Основное действие, disabled и локальное удаление демо.

    Нажмите доступную кнопку — результат появится здесь.

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-action-demo states"><div class="vx-action-row"><button class="ui-btn ui-primary" data-vx-action="choose">Сохранить</button><button class="ui-btn" disabled>Недоступно</button><button class="ui-btn vx-danger" data-vx-action="choose">Удалить демо</button></div><p role="status">Нажмите доступную кнопку — результат появится здесь.</p></div>
    Варианты полей4 варианта
    Варианты полей · live-local

    Поле с единицей

    Единица измерения остаётся рядом со значением.

    В пикселях, от 160 до 1200.

    Ширина: 320 px

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <label class="ui-label" for="vx-width">Ширина панели</label><div class="vx-input-unit"><input class="ui-field" id="vx-width" type="number" min="160" max="1200" value="320" data-vx-unit aria-describedby="vx-width-help"><span aria-hidden="true">px</span></div><small id="vx-width-help">В пикселях, от 160 до 1200.</small><p role="status">Ширина: 320 px</p>
    Варианты полей · live-local

    Счётчик количества

    Плюс, минус и ручной ввод с границами.

    От 1 до 12. Можно ввести число вручную.

    Выбрано: 3

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-quantity"><label class="ui-label" for="vx-quantity">Количество образцов</label><div class="vx-action-row"><button type="button" class="ui-btn" data-vx-action="minus">−</button><input class="ui-field" id="vx-quantity" type="number" min="1" max="12" value="3" aria-describedby="vx-quantity-help"><button type="button" class="ui-btn" data-vx-action="plus">+</button></div><small id="vx-quantity-help">От 1 до 12. Можно ввести число вручную.</small><p role="status">Выбрано: 3</p></div>
    Варианты полей · live-local

    Многострочное поле

    Остаток длины без подмены подписи placeholder-ом.

    0 / 160
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <label class="ui-label" for="vx-message">Комментарий к образцу</label><textarea class="ui-field" id="vx-message" rows="3" maxlength="160" placeholder="Что стоит изменить?" data-vx-count aria-describedby="vx-message-count"></textarea><output id="vx-message-count">0 / 160</output>
    Варианты полей · live-local

    Проверка значения

    Валидация с доступной ошибкой без отправки данных.

    Учебная форма, данные не отправляются.

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <form data-vx-email novalidate><label class="ui-label" for="vx-email">Email для примера</label><input id="vx-email" class="ui-field" type="email" required autocomplete="off" placeholder="name@example.com" aria-describedby="vx-email-message"><p id="vx-email-message" role="status">Учебная форма, данные не отправляются.</p><button class="ui-btn" type="submit">Проверить</button></form>
    Варианты карточек3 варианта
    Варианты карточек · live-local

    Карточка показателя

    Крупное число и компактный контекст.

    Готовность коллекции24

    проверенных образца · демоданные

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-content-demo metric"><span class="vx-overline">Готовность коллекции</span><strong class="vx-metric">24</strong><p>проверенных образца · демоданные</p><button type="button" class="ui-btn" data-vx-action="metric">Добавить образец</button></div>
    Варианты карточек · live-local

    Карточка выбора

    Кликабельная подпись настоящего checkbox.

    Материал не выбран

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-content-demo selection"><label class="vx-selection"><input type="checkbox"><span><strong>Прозрачное стекло</strong><small>Выбрать материал для локальной подборки</small></span></label><p role="status">Материал не выбран</p></div>
    Варианты карточек · live-local

    Карточка с раскрытием

    Нативное раскрытие дополнительного содержания.

    Карточка с подробностями

    Компактный заголовок раскрывает описание. Нативный details поддерживает клавиатуру и не требует искусственной роли.

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-content-demo disclosure"><details class="vx-disclosure"><summary>Карточка с подробностями</summary><p>Компактный заголовок раскрывает описание. Нативный details поддерживает клавиатуру и не требует искусственной роли.</p></details></div>
    Статусы и метки4 варианта
    Статусы и метки · live-local

    Метка статуса

    Текст передаёт состояние независимо от цвета.

    ● Черновик
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-badges"><span data-vx-badge>● Черновик</span></div><label class="ui-label" for="vx-status-select">Статус образца</label><select class="ui-field" id="vx-status-select" data-vx-status><option>Черновик</option><option>На проверке</option><option>Готово</option><option>Ошибка</option></select>
    Статусы и метки · live-local

    Множественный выбор

    Независимые нажимаемые метки с общим результатом.

    Выбрано: Стекло

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-chip-list"><button class="ui-btn vx-pill" data-vx-action="chip" aria-pressed="true">Стекло</button><button class="ui-btn vx-pill" data-vx-action="chip" aria-pressed="false">Неон</button><button class="ui-btn vx-pill" data-vx-action="chip" aria-pressed="false">Motion</button></div><p role="status">Выбрано: Стекло</p>
    Статусы и метки · live-local

    Шкала заполненности

    Измеренная величина, а не ход выполнения задачи.

    64%64%
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <label for="vx-meter">Занято в хранилище</label><meter id="vx-meter" min="0" max="100" low="40" high="80" optimum="20" value="64">64%</meter><output>64%</output><label class="ui-label" for="vx-meter-value">Изменить занятое место</label><input id="vx-meter-value" data-vx-range type="range" min="0" max="100" value="64">
    Статусы и метки · live-local

    Встроенное уведомление

    Смена результата в потоке без перекрытия страницы.

    Изменения сохранены локально.
    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="vx-inline-alert" role="status">Изменения сохранены локально.</div><button type="button" class="ui-btn" data-vx-action="notice">Изменить уведомление</button>
    Пагинация и выдача2 варианта
    Пагинация и выдача · live-local

    Номера страниц

    Переключение страниц и честные границы.

    1. Образец 01 · Свет
    2. Образец 02 · Глубина
    3. Образец 03 · Цвет

    Страница 1 из 3

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div data-va-pages="numbered" data-page="1"><ol class="va-results"><li>Образец 01 · Свет</li><li>Образец 02 · Глубина</li><li>Образец 03 · Цвет</li></ol><p role="status">Страница 1 из 3</p><nav class="vx-action-row" aria-label="Страницы демоколлекции"><button class="ui-btn" type="button" data-va-action="prev">Назад</button><button class="ui-btn" data-va-action="page" data-page="1" aria-current="page">1</button><button class="ui-btn" data-va-action="page" data-page="2">2</button><button class="ui-btn" data-va-action="page" data-page="3">3</button><button class="ui-btn" type="button" data-va-action="next">Далее</button></nav></div>
    Пагинация и выдача · live-local

    Показать ещё

    Постепенное раскрытие девяти локальных результатов.

    1. Образец 01 · Свет
    2. Образец 02 · Глубина
    3. Образец 03 · Цвет

    Показано 3 из 9

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div data-va-pages="more" data-page="1"><ol class="va-results"><li>Образец 01 · Свет</li><li>Образец 02 · Глубина</li><li>Образец 03 · Цвет</li></ol><p role="status">Показано 3 из 9</p><button class="ui-btn" type="button" data-va-action="more">Показать ещё</button></div>
    Таймлайны событий2 варианта
    Таймлайны событий · live-local

    Вертикальная история

    Три этапа с текущим состоянием и текстовым пояснением.

    1. 01ПолученоЗапрос принят
    2. 02В работеПодготовка образца
    3. 03ГотовоМожно просмотреть

    Текущий этап: Получено

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="va-timeline vertical" data-va-timeline><ol><li aria-current="step"><span>01</span><b>Получено</b><small>Запрос принят</small></li><li ><span>02</span><b>В работе</b><small>Подготовка образца</small></li><li ><span>03</span><b>Готово</b><small>Можно просмотреть</small></li></ol><p role="status">Текущий этап: Получено</p><button class="ui-btn" type="button" data-va-action="timeline">Следующий этап</button></div>
    Таймлайны событий · live-local

    Горизонтальный маршрут

    Та же последовательность в горизонтальной композиции.

    1. 01ПолученоЗапрос принят
    2. 02В работеПодготовка образца
    3. 03ГотовоМожно просмотреть

    Текущий этап: Получено

    HTML образца

    Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

    <div class="va-timeline horizontal" data-va-timeline><ol><li aria-current="step"><span>01</span><b>Получено</b><small>Запрос принят</small></li><li ><span>02</span><b>В работе</b><small>Подготовка образца</small></li><li ><span>03</span><b>Готово</b><small>Можно просмотреть</small></li></ol><p role="status">Текущий этап: Получено</p><button class="ui-btn" type="button" data-va-action="timeline">Следующий этап</button></div>
    Очереди файлов2 варианта
    Очереди файлов · live-local

    Список файлов

    Добавление, удаление и ручное моделирование обработки.

    Файлы остаются на устройстве; читаются только имена и размеры. Максимум 5 файлов.

      Очередь пуста

      HTML образца

      Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

      <div data-va-queue="list"><label class="ui-label" for="va-files-list">Добавить файлы в локальную очередь</label><input class="ui-field" id="va-files-list" type="file" multiple><p class="ui-muted">Файлы остаются на устройстве; читаются только имена и размеры. Максимум 5 файлов.</p><ul class="va-file-list"></ul><p role="status">Очередь пуста</p><button class="ui-btn" type="button" data-va-action="queue-add">Добавить демофайл</button> <button class="ui-btn" type="button" data-va-action="queue-clear">Очистить</button></div>
      Очереди файлов · live-local

      Карточки файлов

      Тот же локальный сценарий в карточной раскладке.

      Файлы остаются на устройстве; читаются только имена и размеры. Максимум 5 файлов.

        Очередь пуста

        HTML образца

        Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

        <div data-va-queue="cards"><label class="ui-label" for="va-files-cards">Добавить файлы в локальную очередь</label><input class="ui-field" id="va-files-cards" type="file" multiple><p class="ui-muted">Файлы остаются на устройстве; читаются только имена и размеры. Максимум 5 файлов.</p><ul class="va-file-list"></ul><p role="status">Очередь пуста</p><button class="ui-btn" type="button" data-va-action="queue-add">Добавить демофайл</button> <button class="ui-btn" type="button" data-va-action="queue-clear">Очистить</button></div>
        Центр уведомлений2 варианта
        Центр уведомлений · live-local

        Непрочитанные события

        Прочитать одно или сразу все, счётчик синхронизируется.

        2 непрочитанных

        • Образец готовСегодня · демособытие
        • Новый комментарийСегодня · демособытие
        HTML образца

        Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

        <div data-va-notices="inbox"><p role="status">2 непрочитанных</p><ul class="va-notices"><li><strong>Образец готов</strong><span>Сегодня · демособытие</span><button class="ui-btn" type="button" data-va-action="read">Прочитано</button></li><li><strong>Новый комментарий</strong><span>Сегодня · демособытие</span><button class="ui-btn" type="button" data-va-action="read">Прочитано</button></li></ul><button class="ui-btn" type="button" data-va-action="read-all">Прочитать всё</button></div>
        Центр уведомлений · live-local

        Удаление с отменой

        Убрать последнее сообщение и восстановить его.

        2 непрочитанных

        • Образец готовСегодня · демособытие
        • Новый комментарийСегодня · демособытие
        HTML образца

        Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

        <div data-va-notices="undo"><p role="status">2 непрочитанных</p><ul class="va-notices"><li><strong>Образец готов</strong><span>Сегодня · демособытие</span><button class="ui-btn" type="button" data-va-action="read">Прочитано</button></li><li><strong>Новый комментарий</strong><span>Сегодня · демособытие</span><button class="ui-btn" type="button" data-va-action="read">Прочитано</button></li></ul><button class="ui-btn" type="button" data-va-action="remove-notice">Убрать последнее</button> <button class="ui-btn" type="button" data-va-action="undo-notice">Вернуть</button></div>
        Оценки и рейтинги2 варианта
        Оценки и рейтинги · live-local

        Оценка звёздами

        Нативная radio-группа с текстовой альтернативой.

        Оцените образец: от 1 до 5

        Оценка не выбрана

        HTML образца

        Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

        <fieldset class="va-rating"><legend>Оцените образец: от 1 до 5</legend><label><input type="radio" name="va-stars" value="1"><span aria-hidden="true">★</span><span class="sr-only">1 из 5</span></label><label><input type="radio" name="va-stars" value="2"><span aria-hidden="true">★★</span><span class="sr-only">2 из 5</span></label><label><input type="radio" name="va-stars" value="3"><span aria-hidden="true">★★★</span><span class="sr-only">3 из 5</span></label><label><input type="radio" name="va-stars" value="4"><span aria-hidden="true">★★★★</span><span class="sr-only">4 из 5</span></label><label><input type="radio" name="va-stars" value="5"><span aria-hidden="true">★★★★★</span><span class="sr-only">5 из 5</span></label><p role="status">Оценка не выбрана</p></fieldset>
        Оценки и рейтинги · live-local

        Числовая оценка

        Непрерывный выбор 0–10 без выдуманных отзывов.

        7 из 10

        Учебная оценка сохраняется только на открытой странице.

        HTML образца

        Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

        <div data-va-score><label class="ui-label" for="va-score">Оценка удобства, от 0 до 10</label><input id="va-score" type="range" min="0" max="10" value="7"><output for="va-score">7 из 10</output><p class="ui-muted">Учебная оценка сохраняется только на открытой странице.</p></div>
        Диапазоны значений2 варианта
        Диапазоны значений · live-local

        Диапазон цены

        Две границы в рублях; это демоданные, не предложение.

        2000–8000 ₽

        Два связанных нативных ползунка; минимум не превышает максимум.

        HTML образца

        Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

        <div data-va-dual="price"><label class="ui-label" for="va-min-price">Минимальная цена, ₽</label><input id="va-min-price" data-va-min type="range" min="0" max="10000" step="100" value="2000"><label class="ui-label" for="va-max-price">Максимальная цена, ₽</label><input id="va-max-price" data-va-max type="range" min="0" max="10000" step="100" value="8000"><output>2000–8000 ₽</output><p class="ui-muted">Два связанных нативных ползунка; минимум не превышает максимум.</p></div>
        Диапазоны значений · live-local

        Диапазон процентов

        Независимые ручки с ограничением пересечения.

        20–80%

        Два связанных нативных ползунка; минимум не превышает максимум.

        HTML образца

        Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

        <div data-va-dual="percent"><label class="ui-label" for="va-min-percent">Начало диапазона, %</label><input id="va-min-percent" data-va-min type="range" min="0" max="100" step="1" value="20"><label class="ui-label" for="va-max-percent">Конец диапазона, %</label><input id="va-max-percent" data-va-max type="range" min="0" max="100" step="1" value="80"><output>20–80%</output><p class="ui-muted">Два связанных нативных ползунка; минимум не превышает максимум.</p></div>
        Изменяемые панели2 варианта
        Изменяемые панели · live-local

        Две колонки

        Нативный ползунок управляет пропорцией колонок.

        40 / 60%
        Навигация

        Материал
        Композиция
        Состояние

        Просмотр

        Размер панелей меняется без потери содержимого. Ползунок доступен с клавиатуры.

        HTML образца

        Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

        <div data-va-split="horizontal"><label class="ui-label" for="va-split-horizontal">Ширина левой панели, 25–75%</label><input id="va-split-horizontal" type="range" min="25" max="75" value="40"><output>40 / 60%</output><div class="va-split horizontal" style="--split:40%"><div tabindex="0" role="region" aria-label="Панель навигации"><strong>Навигация</strong><p>Материал<br>Композиция<br>Состояние</p></div><div tabindex="0" role="region" aria-label="Панель просмотра"><strong>Просмотр</strong><p>Размер панелей меняется без потери содержимого. Ползунок доступен с клавиатуры.</p></div></div><button class="ui-btn" type="button" data-va-action="split-reset">Сбросить пропорции</button></div>
        Изменяемые панели · live-local

        Две строки

        Изменение высоты панелей, содержимое прокручивается.

        40 / 60%
        Навигация

        Материал
        Композиция
        Состояние

        Просмотр

        Размер панелей меняется без потери содержимого. Ползунок доступен с клавиатуры.

        HTML образца

        Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.

        <div data-va-split="vertical"><label class="ui-label" for="va-split-vertical">Высота верхней панели, 25–75%</label><input id="va-split-vertical" type="range" min="25" max="75" value="40"><output>40 / 60%</output><div class="va-split vertical" style="--split:40%"><div tabindex="0" role="region" aria-label="Панель навигации"><strong>Навигация</strong><p>Материал<br>Композиция<br>Состояние</p></div><div tabindex="0" role="region" aria-label="Панель просмотра"><strong>Просмотр</strong><p>Размер панелей меняется без потери содержимого. Ползунок доступен с клавиатуры.</p></div></div><button class="ui-btn" type="button" data-va-action="split-reset">Сбросить пропорции</button></div>
        HTML / семантика / состояния

        Анатомия
        интерфейса.

        От тега до рабочего контрола. 113 HTML-элементов, 2 соседних пространства имён, 22 типа input и 12 групп состояний. Раскройте строку: слева образец, справа рецепт.

        Материал образцов
        115 элементов
        01

        Управление

        15 элементов
        <button>Кнопка действияЖивой HTML

        Клавиши Enter и Space. Текст объясняет действие; type задаётся явно.

        <button type="button" data-ha-action>Применить материал</button><output data-ha-feedback aria-live="polite"></output>
        Документация button ↗
        <input>Однострочное полеЖивой HTML

        Все 22 типа разобраны отдельно ниже. Placeholder не заменяет label.

        <label>Название материала<input type="text" placeholder="Например, Arctic" maxlength="60"></label>
        Документация input ↗
        <select>Нативный селекторЖивой HTML

        Список и его клавиатура принадлежат браузеру. На телефоне интерфейс может отличаться.

        <label>Материал<select><option>Frost</option><option>Smoke</option><option>Liquid</option></select></label>
        Документация select ↗
        <option>Вариант выбораЖивой HTML

        value — данные; выбранное и недоступное состояния задаются явно.

        <label>Отделка<select><option value="matte">Матовая</option><option value="clear" selected>Прозрачная</option><option disabled>Недоступная</option></select></label>
        Документация option ↗
        <optgroup>Группа вариантовЖивой HTML

        Группа подписывается label; это не отдельное выбираемое значение.

        <label>Семейство<select><optgroup label="2D плёнка"><option>Frost</option><option>Smoke</option></optgroup><optgroup label="3D край"><option>Liquid</option></optgroup></select></label>
        Документация optgroup ↗
        <datalist>Поле с подсказкамиЖивой HTML

        Подсказки допускают произвольный ввод. Это не обязательный выбор из списка.

        <label>Акцент<input list="ha-colors" placeholder="Введите цвет"></label><datalist id="ha-colors"><option value="Лаймовый"><option value="Циановый"><option value="Розовый"></datalist>
        Документация datalist ↗
        <textarea>Многострочный вводЖивой HTML

        Высота изменяется пользователем. Длинный текст переносится.

        <label>Комментарий<textarea rows="3" placeholder="Опишите материал"></textarea></label>
        Документация textarea ↗
        <label>Связь подписи с полемЖивой HTML

        Используйте вложение либо точную связь for/id.

        <label for="ha-label-sample">Нажмите на эту подпись</label><input id="ha-label-sample" placeholder="Фокус перейдёт сюда">
        Документация label ↗
        <fieldset>Группа контроловЖивой HTML
        Толщина стекла

        Общий смысл группы передаётся через legend.

        <fieldset><legend>Толщина стекла</legend><label><input type="radio" name="ha-thickness" checked> 2D плёнка</label><label><input type="radio" name="ha-thickness"> 3D край</label></fieldset>
        Документация fieldset ↗
        <legend>Название группыЖивой HTML
        Экспортировать слои

        Подпись остаётся видимой, даже когда значение ещё не выбрано.

        <fieldset><legend>Экспортировать слои</legend><label><input type="checkbox" checked> Поверхность</label><label><input type="checkbox"> Блики</label></fieldset>
        Документация legend ↗
        <form>Форма и проверкаЖивой HTML

        Локальная демо-валидация. Данные не отправляются и не сохраняются.

        <form data-ha-form method="dialog"><label>Демо-почта<input type="email" required placeholder="name@example.com"></label><button type="submit">Проверить</button><output data-ha-feedback aria-live="polite"></output></form>
        Документация form ↗
        <output>Вычисленное значениеЖивой HTML
        14 px

        Обновляется по input; связь output for сохраняет смысл результата.

        <label>Диффузия<input id="ha-output-range" type="range" min="0" max="24" value="14" data-ha-output></label><output for="ha-output-range" data-ha-range-value>14 px</output>
        Документация output ↗
        <meter>Измеренная величинаЖивой HTML

        Известная шкала с границами. Это не процесс загрузки.

        <label>Заполнение слоя <meter min="0" max="100" low="25" high="80" optimum="60" value="62">62%</meter></label>
        Документация meter ↗
        <progress>Ход задачиЖивой HTML
        68 из 100 · статический пример

        Число — учебное состояние, а не текущая загрузка.

        <label>Подготовка образца <progress max="100" value="68">68%</progress></label><span>68 из 100 · статический пример</span>
        Документация progress ↗
        <selectedcontent>Настраиваемый selectРецепт

        Настраиваемый select

        Код без встраивания в документ

        Есть в текущем стандарте, но поддержка отдельных возможностей ограничена. Нужны проверка браузера, appearance: base-select и обычный select как fallback.

        <select>
          <button><selectedcontent></selectedcontent></button>
          <option>Frost</option>
        </select>
        Документация selectedcontent ↗
        02

        Раскрытие

        3 элементов
        <details>Нативное раскрытиеЖивой HTML
        Что делает стекло выразительным?

        Цвет под поверхностью, диффузия и локальный свет на 3D-краю.

        Клавиатура работает без JavaScript. Содержимое раскрывается без анимации высоты.

        <details><summary>Что делает стекло выразительным?</summary><p>Цвет под поверхностью, диффузия и локальный свет на 3D-краю.</p></details>
        Документация details ↗
        <summary>Заголовок раскрытияЖивой HTML
        Показать свойства
        Материал
        2D Frost

        Первый summary внутри details; не вкладывайте в него другие кнопки.

        <details><summary>Показать свойства</summary><dl><dt>Материал</dt><dd>2D Frost</dd></dl></details>
        Документация summary ↗
        <dialog>Модальный диалогЖивой HTML

        Сохранить материал?

        Это локальный учебный диалог.

        showModal, Escape, возврат фокуса и блокировка фона. Без JS показан рецепт.

        <button type="button" data-ha-dialog-open>Открыть диалог</button><dialog class="ha-modal" id="ha-native-dialog" aria-labelledby="ha-dialog-title"><h4 id="ha-dialog-title">Сохранить материал?</h4><p>Это локальный учебный диалог.</p><form method="dialog"><button value="cancel">Закрыть</button><button value="save">Готово</button></form></dialog>
        Документация dialog ↗
        03

        Секции

        10 элементов
        <header>Вступление секцииЖивой HTML
        ОПТИЧЕСКАЯ ЛАБОРАТОРИЯ

        Поверхности со светом

        Содержательное вступление; материал не меняет семантику.

        <header><small>ОПТИЧЕСКАЯ ЛАБОРАТОРИЯ</small><p><strong>Поверхности со светом</strong></p></header>
        Документация header ↗
        <nav>НавигацияЖивой HTML

        Ссылки ведут в разделы страницы.

        <nav aria-label="Учебная навигация"><a href="#html-atlas">Элементы</a><a href="#ha-states">Состояния</a></nav>
        Документация nav ↗
        <main>Основное содержимоеРецепт

        Основное содержимое

        Код без встраивания в документ

        Одна видимая основная область страницы. В атласе не создаём вложенный main.

        <main id="content">
          <h1>Название страницы</h1>
          <section>…</section>
        </main>
        Документация main ↗
        <section>Тематический разделЖивой HTML

        Оптика

        Самостоятельная тема с явным заголовком.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <section><h4>Оптика</h4><p>Самостоятельная тема с явным заголовком.</p></section>
        Документация section ↗
        <article>Самостоятельная карточкаЖивой HTML

        Frost / 01

        Матовая поверхность с мягкой диффузией.

        Образец коллекции

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <article><h4>Frost / 01</h4><p>Матовая поверхность с мягкой диффузией.</p><small>Образец коллекции</small></article>
        Документация article ↗
        <aside>Сопутствующая информацияЖивой HTML

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <aside aria-label="Подсказка к образцу"><strong>На заметку</strong><p>Blur без цветного фона почти незаметен.</p></aside>
        Документация aside ↗
        <footer>Завершение секцииЖивой HTML

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <footer><small>LUMA · авторский образец</small><a href="#html-atlas">К карте ↑</a></footer>
        Документация footer ↗
        <address>Контактная информацияЖивой HTML
        Демо-студия LUMA
        studio@example.com

        Демонстрационный адрес на example.com, не контакт проекта.

        <address>Демо-студия LUMA<br><a href="mailto:studio@example.com">studio@example.com</a></address>
        Документация address ↗
        <search>Область поискаЖивой HTML

        Семантическая область; фильтрация требует отдельной логики и здесь не подключена.

        <search><label>Поиск в образце<input type="search" placeholder="Название слоя"></label></search>
        Документация search ↗
        <hgroup>Заголовок с подзаголовкомЖивой HTML

        Коллекция / 01

        Арктический свет

        Серия матовых поверхностей

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <hgroup><p>Коллекция / 01</p><h4>Арктический свет</h4><p>Серия матовых поверхностей</p></hgroup>
        Документация hgroup ↗
        04

        Заголовки

        6 элементов
        <h1>Заголовок уровня 1Живой HTML

        Главная идея

        Уровень отражает структуру документа, а размер задаётся CSS.

        <h1 class="ha-heading-example">Главная идея</h1>
        Документация h1 ↗
        <h2>Заголовок уровня 2Живой HTML

        Раздел коллекции

        Уровень отражает структуру документа, а размер задаётся CSS.

        <h2 class="ha-heading-example">Раздел коллекции</h2>
        Документация h2 ↗
        <h3>Заголовок уровня 3Живой HTML

        Семейство материала

        Уровень отражает структуру документа, а размер задаётся CSS.

        <h3 class="ha-heading-example">Семейство материала</h3>
        Документация h3 ↗
        <h4>Заголовок уровня 4Живой HTML

        Вариант поверхности

        Уровень отражает структуру документа, а размер задаётся CSS.

        <h4 class="ha-heading-example">Вариант поверхности</h4>
        Документация h4 ↗
        <h5>Заголовок уровня 5Живой HTML
        Деталь образца

        Уровень отражает структуру документа, а размер задаётся CSS.

        <h5 class="ha-heading-example">Деталь образца</h5>
        Документация h5 ↗
        <h6>Заголовок уровня 6Живой HTML
        Примечание к детали

        Уровень отражает структуру документа, а размер задаётся CSS.

        <h6 class="ha-heading-example">Примечание к детали</h6>
        Документация h6 ↗
        05

        Блоки текста

        7 элементов
        <p>АбзацЖивой HTML

        Стекло становится видимым там, где свет встречается с цветом. Текст остаётся на спокойной поверхности.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <p>Стекло становится видимым там, где свет встречается с цветом. Текст остаётся на спокойной поверхности.</p>
        Документация p ↗
        <div>Универсальный контейнерЖивой HTML
        Слой светаСлой материалаСлой содержания

        Используйте, когда у группы нет более точной семантики.

        <div class="ha-stack"><span>Слой света</span><span>Слой материала</span><span>Слой содержания</span></div>
        Документация div ↗
        <blockquote>Отдельная цитатаЖивой HTML

        «Сначала ясная композиция, затем движение».

        Учебная фраза LUMA

        Авторский пример, не приписанная кому-либо цитата.

        <blockquote><p>«Сначала ясная композиция, затем движение».</p><footer>Учебная фраза LUMA</footer></blockquote>
        Документация blockquote ↗
        <pre>Форматированный блокЖивой HTML
        surface
          light → diffusion
          edge  → thickness

        Пробелы сохраняются; длинная строка имеет собственную прокрутку.

        <pre>surface
          light → diffusion
          edge  → thickness</pre>
        Документация pre ↗
        <hr>Тематический разрывЖивой HTML

        Материал


        Поведение

        Разделение темы, не способ нарисовать любой декоративный бордер.

        <p>Материал</p><hr><p>Поведение</p>
        Документация hr ↗
        <figure>Иллюстрация с подписьюЖивой HTML
        Лаймовый круг за голубой стеклянной панелью
        Цветная форма за плёнкой

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <figure><img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E" width="240" height="100" alt="Лаймовый круг за голубой стеклянной панелью"><figcaption>Цветная форма за плёнкой</figcaption></figure>
        Документация figure ↗
        <figcaption>Подпись иллюстрацииЖивой HTML
        Лаймовый круг за голубой стеклянной панелью
        01 · Направление света слева

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <figure><img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E" width="240" height="100" alt="Лаймовый круг за голубой стеклянной панелью"><figcaption>01 · Направление света слева</figcaption></figure>
        Документация figcaption ↗
        06

        Списки

        7 элементов
        <ul>Неупорядоченный списокЖивой HTML
        • Прозрачность
        • Диффузия
        • Направленный свет

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <ul><li>Прозрачность</li><li>Диффузия</li><li>Направленный свет</li></ul>
        Документация ul ↗
        <ol>ПоследовательностьЖивой HTML
        1. Выбрать материал
        2. Настроить свет
        3. Проверить текст

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <ol><li>Выбрать материал</li><li>Настроить свет</li><li>Проверить текст</li></ol>
        Документация ol ↗
        <li>Элемент спискаЖивой HTML
        • Frost — плоская плёнка
        • Liquid — объёмный край

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <ul><li><strong>Frost</strong> — плоская плёнка</li><li><strong>Liquid</strong> — объёмный край</li></ul>
        Документация li ↗
        <menu>Список командЖивой HTML
      • Нативный список не создаёт ARIA menu и его стрелочную навигацию автоматически.

        <menu><li><button type="button" data-ha-action>Дублировать образец</button></li><li><button type="button" data-ha-action>Сбросить свет</button></li></menu><output data-ha-feedback aria-live="polite"></output>
        Документация menu ↗
        <dl>Пары термин — значениеЖивой HTML
        Frost
        Матовая плёнка
        Liquid
        Оптическая толщина

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <dl><dt>Frost</dt><dd>Матовая плёнка</dd><dt>Liquid</dt><dd>Оптическая толщина</dd></dl>
        Документация dl ↗
        <dt>ТерминЖивой HTML
        Диффузия
        Рассеивание фона под поверхностью.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <dl><dt>Диффузия</dt><dd>Рассеивание фона под поверхностью.</dd></dl>
        Документация dt ↗
        <dd>Описание терминаЖивой HTML
        Контраст
        Проверяется на итоговом составном фоне.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <dl><dt>Контраст</dt><dd>Проверяется на итоговом составном фоне.</dd></dl>
        Документация dd ↗
        07

        Строчная семантика

        31 элементов
        <a>СсылкаЖивой HTML

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <a href="#ha-states">Перейти к состояниям ↗</a>
        Документация a ↗
        <abbr>СокращениеЖивой HTML
        WAAPI — Web Animations API

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <abbr title="Web Animations API">WAAPI</abbr> — Web Animations API
        Документация abbr ↗
        <b>Ключевое словоЖивой HTML
        Материал Frost в новой коллекции.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Материал <b>Frost</b> в новой коллекции.
        Документация b ↗
        <strong>ВажностьЖивой HTML
        Не теряйте видимый фокус.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <strong>Не теряйте видимый фокус.</strong>
        Документация strong ↗
        <em>Смысловое ударениеЖивой HTML
        Сначала читаемость, затем эффект.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Сначала <em>читаемость</em>, затем эффект.
        Документация em ↗
        <i>Иной голосЖивой HTML
        Эффект glassmorphism в интерфейсе.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Эффект <i lang="en">glassmorphism</i> в интерфейсе.
        Документация i ↗
        <u>АннотацияЖивой HTML
        В макете: несогласованое написание.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        В макете: <u>несогласованое</u> написание.
        Документация u ↗
        <s>НеактуальноеЖивой HTML
        Режим: полная прозрачность → матовая плёнка.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Режим: <s>полная прозрачность</s> → матовая плёнка.
        Документация s ↗
        <small>Второстепенный текстЖивой HTML
        Учебный образец. Значения условные.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <small>Учебный образец. Значения условные.</small>
        Документация small ↗
        <mark>Выделение совпаденияЖивой HTML
        Поиск: стекло в светлой теме.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Поиск: <mark>стекло</mark> в светлой теме.
        Документация mark ↗
        <span>Строчная группаЖивой HTML
        Состояние: готово

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Состояние: <span class="ha-badge">готово</span>
        Документация span ↗
        <br>Смысловой переносЖивой HTML
        Линия света
        на матовой поверхности

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Линия света<br>на матовой поверхности
        Документация br ↗
        <wbr>Возможный переносЖивой HTML
        glassmaterialcollectionpreview

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        glass<wbr>material<wbr>collection<wbr>preview
        Документация wbr ↗
        <code>Фрагмент кодаЖивой HTML
        backdrop-filter: blur(14px)

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <code>backdrop-filter: blur(14px)</code>
        Документация code ↗
        <kbd>Клавиатурный вводЖивой HTML
        Нажмите Tab, затем Enter.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Нажмите <kbd>Tab</kbd>, затем <kbd>Enter</kbd>.
        Документация kbd ↗
        <samp>Ответ программыЖивой HTML
        Образец готов · 0 ошибок

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <samp>Образец готов · 0 ошибок</samp>
        Документация samp ↗
        <var>ПеременнаяЖивой HTML
        Толщина: t = 3

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Толщина: <var>t</var> = 3
        Документация var ↗
        <sub>Нижний индексЖивой HTML
        H2O

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        H<sub>2</sub>O
        Документация sub ↗
        <sup>Верхний индексЖивой HTML
        Площадь: 16 м2

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Площадь: 16 м<sup>2</sup>
        Документация sup ↗
        <q>Строчная цитатаЖивой HTML
        Правило: Один владелец свойства.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Правило: <q>Один владелец свойства</q>.
        Документация q ↗
        <cite>Название произведенияЖивой HTML
        Оптическая лаборатория LUMA

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <cite>Оптическая лаборатория LUMA</cite>
        Документация cite ↗
        <dfn>Определяемый терминЖивой HTML
        2D-плёнка — поверхность без оптической толщины.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <dfn>2D-плёнка</dfn> — поверхность без оптической толщины.
        Документация dfn ↗
        <data>Машинное значениеЖивой HTML
        Арктический свет

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <data value="frost-01">Арктический свет</data>
        Документация data ↗
        <time>Дата или времяЖивой HTML

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <time datetime="2026-10-21">21 октября 2026</time>
        Документация time ↗
        <bdi>Изоляция направленияЖивой HTML
        Автор: نور · слой 01

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        Автор: <bdi>نور</bdi> · слой 01
        Документация bdi ↗
        <bdo>Направление текстаЖивой HTML
        ABC 123

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <bdo dir="rtl">ABC 123</bdo>
        Документация bdo ↗
        <ruby>Аннотация над текстомЖивой HTML
        光(свет)

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <ruby>光<rp>(</rp><rt>свет</rt><rp>)</rp></ruby>
        Документация ruby ↗
        <rt>Текст аннотацииЖивой HTML
        光(свет)

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <ruby>光<rp>(</rp><rt>свет</rt><rp>)</rp></ruby>
        Документация rt ↗
        <rp>Резервные скобкиЖивой HTML
        光(свет)

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <ruby>光<rp>(</rp><rt>свет</rt><rp>)</rp></ruby>
        Документация rp ↗
        <ins>Добавленный текстЖивой HTML
        Добавлен локальный блик.

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <ins datetime="2026-10-21">Добавлен локальный блик.</ins>
        Документация ins ↗
        <del>Удалённый текстЖивой HTML
        Равномерная обводка

        Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.

        <del datetime="2026-10-21">Равномерная обводка</del>
        Документация del ↗
        08

        Таблицы

        10 элементов
        <table>Таблица данныхЖивой HTML
        Оптические слои
        СлойРазмытие
        Плёнка14 px
        Режим2D

        Один связный табличный образец показывает контекст тега. Не использовать таблицу для раскладки страницы.

        <table><caption>Оптические слои</caption><colgroup><col class="ha-tint"><col></colgroup><thead><tr><th scope="col">Слой</th><th scope="col">Размытие</th></tr></thead><tbody><tr><th scope="row">Плёнка</th><td>14 px</td></tr></tbody><tfoot><tr><th scope="row">Режим</th><td>2D</td></tr></tfoot></table>
        Документация table ↗
        <caption>Название таблицыЖивой HTML
        Оптические слои
        СлойРазмытие
        Плёнка14 px
        Режим2D

        Один связный табличный образец показывает контекст тега. Не использовать таблицу для раскладки страницы.

        <table><caption>Оптические слои</caption><colgroup><col class="ha-tint"><col></colgroup><thead><tr><th scope="col">Слой</th><th scope="col">Размытие</th></tr></thead><tbody><tr><th scope="row">Плёнка</th><td>14 px</td></tr></tbody><tfoot><tr><th scope="row">Режим</th><td>2D</td></tr></tfoot></table>
        Документация caption ↗
        <thead>Шапка таблицыЖивой HTML
        Оптические слои
        СлойРазмытие
        Плёнка14 px
        Режим2D

        Один связный табличный образец показывает контекст тега. Не использовать таблицу для раскладки страницы.

        <table><caption>Оптические слои</caption><colgroup><col class="ha-tint"><col></colgroup><thead><tr><th scope="col">Слой</th><th scope="col">Размытие</th></tr></thead><tbody><tr><th scope="row">Плёнка</th><td>14 px</td></tr></tbody><tfoot><tr><th scope="row">Режим</th><td>2D</td></tr></tfoot></table>
        Документация thead ↗
        <tbody>Основные строкиЖивой HTML
        Оптические слои
        СлойРазмытие
        Плёнка14 px
        Режим2D

        Один связный табличный образец показывает контекст тега. Не использовать таблицу для раскладки страницы.

        <table><caption>Оптические слои</caption><colgroup><col class="ha-tint"><col></colgroup><thead><tr><th scope="col">Слой</th><th scope="col">Размытие</th></tr></thead><tbody><tr><th scope="row">Плёнка</th><td>14 px</td></tr></tbody><tfoot><tr><th scope="row">Режим</th><td>2D</td></tr></tfoot></table>
        Документация tbody ↗
        <tfoot>Итоговые строкиЖивой HTML
        Оптические слои
        СлойРазмытие
        Плёнка14 px
        Режим2D

        Один связный табличный образец показывает контекст тега. Не использовать таблицу для раскладки страницы.

        <table><caption>Оптические слои</caption><colgroup><col class="ha-tint"><col></colgroup><thead><tr><th scope="col">Слой</th><th scope="col">Размытие</th></tr></thead><tbody><tr><th scope="row">Плёнка</th><td>14 px</td></tr></tbody><tfoot><tr><th scope="row">Режим</th><td>2D</td></tr></tfoot></table>
        Документация tfoot ↗
        <tr>СтрокаЖивой HTML
        Оптические слои
        СлойРазмытие
        Плёнка14 px
        Режим2D

        Один связный табличный образец показывает контекст тега. Не использовать таблицу для раскладки страницы.

        <table><caption>Оптические слои</caption><colgroup><col class="ha-tint"><col></colgroup><thead><tr><th scope="col">Слой</th><th scope="col">Размытие</th></tr></thead><tbody><tr><th scope="row">Плёнка</th><td>14 px</td></tr></tbody><tfoot><tr><th scope="row">Режим</th><td>2D</td></tr></tfoot></table>
        Документация tr ↗
        <th>Заголовочная ячейкаЖивой HTML
        Оптические слои
        СлойРазмытие
        Плёнка14 px
        Режим2D

        Один связный табличный образец показывает контекст тега. Не использовать таблицу для раскладки страницы.

        <table><caption>Оптические слои</caption><colgroup><col class="ha-tint"><col></colgroup><thead><tr><th scope="col">Слой</th><th scope="col">Размытие</th></tr></thead><tbody><tr><th scope="row">Плёнка</th><td>14 px</td></tr></tbody><tfoot><tr><th scope="row">Режим</th><td>2D</td></tr></tfoot></table>
        Документация th ↗
        <td>Ячейка данныхЖивой HTML
        Оптические слои
        СлойРазмытие
        Плёнка14 px
        Режим2D

        Один связный табличный образец показывает контекст тега. Не использовать таблицу для раскладки страницы.

        <table><caption>Оптические слои</caption><colgroup><col class="ha-tint"><col></colgroup><thead><tr><th scope="col">Слой</th><th scope="col">Размытие</th></tr></thead><tbody><tr><th scope="row">Плёнка</th><td>14 px</td></tr></tbody><tfoot><tr><th scope="row">Режим</th><td>2D</td></tr></tfoot></table>
        Документация td ↗
        <colgroup>Группа столбцовЖивой HTML
        Оптические слои
        СлойРазмытие
        Плёнка14 px
        Режим2D

        Один связный табличный образец показывает контекст тега. Не использовать таблицу для раскладки страницы.

        <table><caption>Оптические слои</caption><colgroup><col class="ha-tint"><col></colgroup><thead><tr><th scope="col">Слой</th><th scope="col">Размытие</th></tr></thead><tbody><tr><th scope="row">Плёнка</th><td>14 px</td></tr></tbody><tfoot><tr><th scope="row">Режим</th><td>2D</td></tr></tfoot></table>
        Документация colgroup ↗
        <col>Оформление столбцаЖивой HTML
        Оптические слои
        СлойРазмытие
        Плёнка14 px
        Режим2D

        Один связный табличный образец показывает контекст тега. Не использовать таблицу для раскладки страницы.

        <table><caption>Оптические слои</caption><colgroup><col class="ha-tint"><col></colgroup><thead><tr><th scope="col">Слой</th><th scope="col">Размытие</th></tr></thead><tbody><tr><th scope="row">Плёнка</th><td>14 px</td></tr></tbody><tfoot><tr><th scope="row">Режим</th><td>2D</td></tr></tfoot></table>
        Документация col ↗
        09

        Медиа

        8 элементов
        <img>ИзображениеЖивой HTML
        Лаймовый круг за голубой стеклянной панелью

        Оригинальный векторный образец внутри data URL. Смысловой alt и явные размеры.

        <img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E" width="240" height="100" alt="Лаймовый круг за голубой стеклянной панелью">
        Документация img ↗
        <picture>Адаптивное изображениеЖивой HTML
        Лаймовый круг за голубой стеклянной панелью

        Один авторский asset в двух точках выбора; отдельный art direction — задача проекта.

        <picture><source media="(min-width: 700px)" srcset="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E"><img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E" width="240" height="100" alt="Лаймовый круг за голубой стеклянной панелью"></picture>
        Документация picture ↗
        <source>Источник медиаЖивой HTML
        Лаймовый круг за голубой стеклянной панелью

        Не рисует самостоятельную поверхность; работает внутри picture/audio/video.

        <picture><source type="image/svg+xml" srcset="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E"><img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E" width="240" height="100" alt="Лаймовый круг за голубой стеклянной панелью"></picture>
        Документация source ↗
        <audio>АудиоплеерКонтролы без медиа

        Контролы браузера; аудиофайл не подключён.

        Визуальный образец контролов, не воспроизведение готового аудио.

        <audio controls preload="none" aria-label="Учебный аудиоплеер"></audio><p class="ha-hint">Контролы браузера; аудиофайл не подключён.</p>
        Документация audio ↗
        <video>ВидеоплеерКонтролы без медиа

        Постер; видеофайл не подключён.

        Не запускайте автозвук. Подготовьте субтитры и доступный fallback.

        <video controls preload="none" width="240" height="100" poster="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E" aria-label="Учебный видеоплеер"></video><p class="ha-hint">Постер; видеофайл не подключён.</p>
        Документация video ↗
        <track>СубтитрыРецепт

        Субтитры

        Код без встраивания в документ

        Рецепт подключения WebVTT. Файлов film.webm/captions.vtt в демо нет.

        <video controls>
          <source src="film.webm" type="video/webm">
          <track kind="captions" src="captions.vtt" srclang="ru" label="Русский">
        </video>
        Документация track ↗
        <map>Карта ссылок изображенияЖивой HTML
        Лаймовый круг за голубой стеклянной панельюК состояниям элементов

        Активна область круга; нужна текстовая альтернатива.

        <img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E" width="240" height="100" usemap="#ha-map" alt="Лаймовый круг за голубой стеклянной панелью"><map name="ha-map"><area shape="circle" coords="80,50,34" href="#ha-states" alt="К состояниям элементов"></map>
        Документация map ↗
        <area>Интерактивная областьЖивой HTML
        Лаймовый круг за голубой стеклянной панельюК состояниям элементов

        Активна область панели. Геометрия зависит от реального размера изображения.

        <img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E" width="240" height="100" usemap="#ha-area" alt="Лаймовый круг за голубой стеклянной панелью"><map name="ha-area"><area shape="rect" coords="95,22,205,80" href="#ha-states" alt="К состояниям элементов"></map>
        Документация area ↗
        10

        Встраивание

        6 элементов
        <iframe>Изолированный документЖивой HTML

        Учебный srcdoc с sandbox; доступ к внешним сервисам не нужен.

        <iframe title="Изолированный учебный документ" sandbox srcdoc="<html lang=ru><body style='font:16px sans-serif;background:#d9f4ef;color:#15233c;padding:18px'><strong>Отдельный документ</strong><p>Без сети и скриптов</p></body></html>"></iframe>
        Документация iframe ↗
        <object>Встроенный объектЖивой HTML

        Цветная форма за плёнкой.

        Встроенное SVG собственного авторства; fallback остаётся в разметке.

        <object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E" width="240" height="100" aria-label="Векторный образец"><p>Цветная форма за плёнкой.</p></object>
        Документация object ↗
        <embed>Внешний встроенный ресурсРецепт

        Внешний встроенный ресурс

        Код без встраивания в документ

        PDF не подключён. Предоставьте обычную ссылку на документ и проверьте просмотрщик.

        <embed src="document.pdf" type="application/pdf" title="Описание материала">
        Документация embed ↗
        <canvas>Растровая сценаЖивой HTML
        Два пересекающихся оптических слоя.

        Скрипт рисует статичный образец один раз. Текстовая альтернатива не зависит от canvas.

        <canvas width="240" height="100" data-ha-canvas role="img" aria-label="Два пересекающихся оптических слоя">Два пересекающихся оптических слоя.</canvas>
        Документация canvas ↗
        <svg>Векторная графикаДругой namespace

        Корень SVG — отдельное пространство имён, не HTML-тег. Полный словарь SVG здесь не перечисляется.

        <svg role="img" aria-label="Лаймовый круг и голубая панель" xmlns="http://www.w3.org/2000/svg" width="240" height="100" viewBox="0 0 240 100"><rect width="240" height="100" rx="18" fill="#15374b"/><circle cx="80" cy="50" r="34" fill="#a8ff62"/><rect x="95" y="22" width="110" height="58" rx="14" fill="#90eaff" fill-opacity=".55"/></svg>
        Документация svg ↗
        <math>Математическая разметкаДругой namespace
        x2+y2

        Корень MathML — отдельное пространство имён, не HTML-тег.

        <math aria-label="x в квадрате плюс y в квадрате"><mrow><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup></mrow></math>
        Документация math ↗
        11

        Документ и шаблоны

        12 элементов
        <html>Корень документаРецепт

        Корень документа

        Код без встраивания в документ

        Укажите язык и корректный doctype.

        <!doctype html>
        <html lang="ru">…</html>
        Документация html ↗
        <head>МетаданныеРецепт

        Метаданные

        Код без встраивания в документ

        Содержит настройки документа; не карточка интерфейса.

        <head>
          <meta charset="utf-8">
          <title>LUMA</title>
        </head>
        Документация head ↗
        <body>Содержимое документаРецепт

        Содержимое документа

        Код без встраивания в документ

        Один body, без вложения второго body для компонента.

        <body>
          <header>…</header>
          <main>…</main>
          <footer>…</footer>
        </body>
        Документация body ↗
        <title>Название вкладкиРецепт

        Название вкладки

        Код без встраивания в документ

        Название страницы, не визуальный заголовок.

        <title>Glass Atlas — элементы</title>
        Документация title ↗
        <meta>Настройки и описаниеРецепт

        Настройки и описание

        Код без встраивания в документ

        Масштабирование пользователем остаётся доступным.

        <meta name="viewport" content="width=device-width, initial-scale=1">
        Документация meta ↗
        <link>Связанный ресурсРецепт

        Связанный ресурс

        Код без встраивания в документ

        Проверяйте пути относительно опубликованной страницы.

        <link rel="stylesheet" href="./style.css">
        Документация link ↗
        <style>Встроенный CSSРецепт

        Встроенный CSS

        Код без встраивания в документ

        Не подменяйте стили всей страницы из примера компонента.

        <style>
          .surface { border: 0; }
        </style>
        Документация style ↗
        <base>Базовый URLРецепт

        Базовый URL

        Код без встраивания в документ

        Меняет разрешение всех относительных URL. В живой атлас не вставляется.

        <base href="https://example.com/catalog/">
        Документация base ↗
        <script>ПоведениеРецепт

        Поведение

        Код без встраивания в документ

        Скрипты не должны быть условием чтения основной информации.

        <script type="module" src="./interaction.js"></script>
        Документация script ↗
        <noscript>Резерв без JavaScriptРецепт

        Резерв без JavaScript

        Код без встраивания в документ

        Содержимое проверяется с реально выключенным JS.

        <noscript>Фильтрация недоступна; элементы перечислены ниже.</noscript>
        Документация noscript ↗
        <template>Инертный шаблонРецепт

        Инертный шаблон

        Код без встраивания в документ

        Не отображается до клонирования content; это не скрытая интерактивная карточка.

        <template id="material-template">
          <article>Frost</article>
        </template>
        Документация template ↗
        <slot>Точка вставки Web ComponentРецепт

        Точка вставки Web Component

        Код без встраивания в документ

        Работает внутри shadow root. Нужен host-компонент и проверка доступного имени.

        <slot name="title">Материал</slot>
        Документация slot ↗

        Каждый тип input.

        22 нативных типа: форма и выбор, данные и время, действия. Пикеры зависят от браузера; файлы остаются на устройстве.

        buttonКоманда
        <input type="button" value="Применить" data-ha-action><output data-ha-feedback aria-live="polite"></output>
        checkboxФлажок
        <label><input type="checkbox" checked> Включить цветную подложку</label>
        colorЦвет
        <label>Цвет<input type="color" value="#a8ff62"></label>
        dateДата
        <label>Дата<input type="date" value="2026-10-21"></label>
        datetime-localЛокальная дата и время
        <label>Локальная дата и время<input type="datetime-local" value="2026-10-21T14:30"></label>
        emailПочта
        <label>Почта<input type="email" placeholder="name@example.com"></label>
        fileФайл
        <label>Файл<input type="file" accept="image/*"></label>
        hiddenСкрытое значение

        Значение frost не видно. Hidden не является защитой данных.

        <input type="hidden" name="material" value="frost"><p>Значение frost не видно. Hidden не является защитой данных.</p>
        imageКнопка-изображение
        <form data-ha-form method="dialog"><input type="image" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22100%22%20viewBox%3D%220%200%20240%20100%22%3E%3Crect%20width%3D%22240%22%20height%3D%22100%22%20rx%3D%2218%22%20fill%3D%22%2315374b%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2250%22%20r%3D%2234%22%20fill%3D%22%23a8ff62%22%2F%3E%3Crect%20x%3D%2295%22%20y%3D%2222%22%20width%3D%22110%22%20height%3D%2258%22%20rx%3D%2214%22%20fill%3D%22%2390eaff%22%20fill-opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E" width="180" height="75" alt="Выбрать материал"><output data-ha-feedback aria-live="polite"></output></form>
        monthМесяц
        <label>Месяц<input type="month" value="2026-10"></label>
        numberЧисло
        <label>Число<input type="number" min="0" max="24" value="14"></label>
        passwordПароль
        <label>Пароль<input type="password" autocomplete="new-password" placeholder="Учебное поле"></label>
        radioОдин из вариантов
        Радиокнопки
        <fieldset><legend>Радиокнопки</legend><label><input type="radio" name="ha-type-radio" checked> Frost</label><label><input type="radio" name="ha-type-radio"> Smoke</label></fieldset>
        rangeДиапазон
        <label>Диапазон<input type="range" min="0" max="24" value="14"></label>
        resetСброс формы
        <form data-ha-form method="dialog"><label>Образец<input value="Frost" name="sample"></label><input type="reset" value="Вернуть Frost"><output data-ha-feedback aria-live="polite"></output></form>
        searchПоиск
        <label>Поиск<input type="search" placeholder="Найти поверхность"></label>
        submitОтправка формы
        <form data-ha-form method="dialog"><label>Образец<input value="Frost" name="sample"></label><input type="submit" value="Проверить локально"><output data-ha-feedback aria-live="polite"></output></form>
        telТелефон
        <label>Телефон<input type="tel" placeholder="+7 000 000-00-00"></label>
        textТекст
        <label>Текст<input type="text" placeholder="Название слоя"></label>
        timeВремя
        <label>Время<input type="time" value="14:30"></label>
        urlАдрес сайта
        <label>Адрес сайта<input type="url" placeholder="https://example.com"></label>
        weekНеделя
        <label>Неделя<input type="week" value="2026-W43"></label>

        Не только default.

        Кнопки, селекторы и поля проверяются в состояниях: действие, выбор, фокус, ошибка и недоступность. Все действия ниже локальные.

        Кнопки

        Primary · secondary · quiet

        Иерархия действия определяется смыслом. Neon — один главный акцент.

        Кнопки

        Toggle · icon · disabled

        Toggle сохраняет имя и меняет aria-pressed. У icon-only есть доступная подпись.

        Кнопки

        Подготовка → готово

        Реальный локальный конечный переход состояния; никакой сетевой операции.

        Селекторы

        Сегменты / один выбор

        Режим материала

        Нативные radio дают Tab + стрелки; обе подписи доступны на телефоне.

        Селекторы

        Несколько вариантов

        Нативный multiple; при сложном поиске нужен отдельный combobox/listbox с полным клавиатурным контрактом.

        Селекторы

        Switch / on–off

        Switch — два состояния; radio выбирает один вариант из набора.

        Селекторы

        Mixed checkbox

        Начальное indeterminate задаётся JS.

        Смешанное состояние — свойство DOM, не атрибут checked. После клика элемент становится обычным checkbox.

        Поля

        Required · readonly · disabled

        Readonly остаётся доступным для фокуса и копирования; disabled — нет.

        Поля

        Ошибка и помощь

        Введите название, чтобы продолжить. Учебное состояние ошибки.

        Ошибка передаётся текстом и связью aria-describedby, а не только цветом.

        Раскрытие

        Popover / подсказка

        2D Frost

        Плёнка без оптической толщины. Закрыть: Escape или касание снаружи.

        Нативный popover доступен через click/touch/keyboard. Это не tooltip только на hover.

        Фокус

        Keyboard / hover / active

        Hover — только при наличии указателя. Focus-visible имеет функциональный контур и не нарушает запрет декоративной обводки стекла.

        Границы карты · новые возможности и устаревшие теги

        Основа — список conforming elements HTML Living Standard, сверенный 21.10.2026. selectedcontent показан как рецепт с проверкой поддержки. SVG и MathML вынесены отдельно; произвольные custom elements не образуют конечного списка.

        Теги прошлого перечислены для распознавания старого кода, без живого исполнения: acronym applet basefont bgsound big blink center content dir font frame frameset image isindex keygen listing marquee menuitem multicol nextid nobr noembed noframes param plaintext rb rtc shadow spacer strike tt xmp. Не используйте их как новые компоненты.

        Не включены в базовый счёт экспериментальные или нестандартные элементы fencedframe, geolocation, permission, portal. Перед применением проверяйте актуальный статус и поддержку.

        Tabs, combobox, tree, grid, menu-button, date-range и drag-select — составные паттерны, не новые HTML-теги. Их наличие в карте элементов не означает реализацию полного ARIA-поведения.

        Основание карты: WHATWG · элементы · MDN · HTML · MDN · input. Дата сверки: 21.10.2026. Превью и тексты созданы для LUMA.

        Motion library / 13 направлений

        Движение
        со смыслом.

        39 авторских этюдов: от одного нажатия до композиции из нескольких слоёв. Прокрутка и slider работают напрямую. Остальные образцы показывают движение; они не заменяют готовые компоненты.

        Один активный образец. Без фоновых циклов. 2D-плёнка и 3D-кромка — разные материалы.

        39 образцов / 13 группВыберите образец
        01

        Обратная связь

        Действие получает понятный ответ.

        WAAPI · 220 мс

        Тактильное нажатие

        Подтверждает контакт, не смещая соседей.

        Рецепт движения
        HTML / применение
        button · :active
        Триггер в продукте
        Нажатие кнопки
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        220 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 540 мс

        Подтверждение

        Рисует понятный знак завершения.

        Рецепт движения
        HTML / применение
        input checkbox · status
        Триггер в продукте
        Успешное действие
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · stroke-dashoffset
        Ритм
        540 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 360 мс

        Мягкая коррекция

        Короткое отклонение привлекает внимание к ошибке.

        Рецепт движения
        HTML / применение
        input · aria-invalid
        Триггер в продукте
        Ошибка валидации
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        360 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        02

        Вход и выход

        Появление объясняет иерархию.

        WAAPI · 480 мс

        Вход с подъёмом

        Связывает новый слой с точкой появления.

        Рецепт движения
        HTML / применение
        dialog · popover
        Триггер в продукте
        Открытие слоя
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        480 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1100 мс

        Выход и возврат

        Показывает уход без внезапного обрыва.

        Рецепт движения
        HTML / применение
        toast · dialog
        Триггер в продукте
        Закрытие; здесь полный цикл
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        1100 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 720 мс

        Раскрытие окна

        Открывает композицию от опорной стороны.

        Рецепт движения
        HTML / применение
        figure · section
        Триггер в продукте
        Первое появление
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · clip-path
        Ритм
        720 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        03

        Перестройка

        Сохраняем положение и контекст.

        WAAPI · 800 мс

        Смена порядка

        Сохраняет идентичность элементов при сортировке.

        Рецепт движения
        HTML / применение
        ol · li
        Триггер в продукте
        Сортировка; схема перестановки
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        800 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 650 мс

        Раскрытие содержимого

        Поясняет связь заголовка и дополнительных строк.

        Рецепт движения
        HTML / применение
        details · summary
        Триггер в продукте
        Раскрытие; визуальная схема
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        650 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1000 мс

        Общий элемент

        Один объект связывает компактное и подробное состояние.

        Рецепт движения
        HTML / применение
        article · dialog
        Триггер в продукте
        Переход карточка → деталь; схема
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + border-radius
        Ритм
        1000 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        04

        Навигация

        Показываем выбранное направление.

        WAAPI · 600 мс

        Активный раздел

        Сдвигает индикатор к новому выбору.

        Рецепт движения
        HTML / применение
        tablist · button
        Триггер в продукте
        Переключение вкладки; схема
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        600 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 900 мс

        Путь назад

        Последовательно восстанавливает контекст.

        Рецепт движения
        HTML / применение
        nav · ol · a
        Триггер в продукте
        Переход по иерархии
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        900 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 650 мс

        Боковая панель

        Показывает направление появления меню.

        Рецепт движения
        HTML / применение
        nav · dialog
        Триггер в продукте
        Открытие панели; схема
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        650 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        05

        Прокрутка

        Движение связано с чтением.

        01 / Начало

        Прокрутите этот
        небольшой текст.

        Шкала следует
        за чтением.

        02 / Середина

        Движением
        управляете вы.

        03 / Конец

        Прямое управление · live

        Прогресс чтения

        Настоящая прокрутка внутри образца управляет шкалой.

        Рецепт движения
        HTML / применение
        article · progress
        Триггер в продукте
        Колесо, touch, клавиши; live
        В образце
        Прямое взаимодействие; кнопка задаёт конечную позицию.
        Владелец / свойства
        DOM listener · scrollTop → scaleX
        Ритм
        Следует вводу пользователя, без инерции и autoplay.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1600 мс

        Разная скорость слоёв

        Разделяет ближний и дальний планы.

        Рецепт движения
        HTML / применение
        figure · decorative layers
        Триггер в продукте
        Сценарий прокрутки моделируется replay
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        1600 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1500 мс

        Закрепление раздела

        Иллюстрирует остановку заголовка при движении текста.

        Рецепт движения
        HTML / применение
        section · heading
        Триггер в продукте
        Сценарий sticky моделируется replay
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        1500 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        06

        Типографика

        Слова сохраняют смысл и целостность.

        WAAPI · 1000 мс

        Последовательность слов

        Ведёт взгляд по фразе без разбивки графем.

        Рецепт движения
        HTML / применение
        h2 · span
        Триггер в продукте
        Первое появление заголовка
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        1000 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 750 мс

        Смысловое подчёркивание

        Выделяет одну важную часть фразы.

        Рецепт движения
        HTML / применение
        a · strong
        Триггер в продукте
        Выбор или фокус; схема
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        750 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1000 мс

        Смена подписи

        Сохраняет место при замене короткого сообщения.

        Рецепт движения
        HTML / применение
        output · status
        Триггер в продукте
        Изменение подписи; схема
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        1000 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        07

        SVG и траектории

        Линия становится рассказом.

        WAAPI · 1200 мс

        Рисование маршрута

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

        Рецепт движения
        HTML / применение
        svg · path
        Триггер в продукте
        Раскрытие схемы
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · stroke-dashoffset
        Ритм
        1200 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1500 мс

        Движение по пути

        Проводит маркер по конечной траектории.

        Рецепт движения
        HTML / применение
        svg · circle
        Триггер в продукте
        Объяснение направления
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        1500 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 900 мс

        Изменение силуэта

        Связывает два состояния простой формы.

        Рецепт движения
        HTML / применение
        svg · rect
        Триггер в продукте
        Смена состояния; CSS/WAAPI
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + rx
        Ритм
        900 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        08

        Данные

        Изменение видно, число остаётся доступным.

        WAAPI · 1000 мс

        Рост столбцов

        Делает соотношение величин видимым.

        Рецепт движения
        HTML / применение
        figure · figcaption
        Триггер в продукте
        Обновление данных
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        1000 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 900 мс

        Роллер числа

        Сохраняет позицию цифр при изменении значения.

        Рецепт движения
        HTML / применение
        output · data
        Триггер в продукте
        Изменение показателя; демоданные
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        900 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1100 мс

        Кольцевая шкала

        Выделяет завершённую долю.

        Рецепт движения
        HTML / применение
        svg · progress
        Триггер в продукте
        Обновление прогресса
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · stroke-dashoffset
        Ритм
        1100 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        09

        Ожидание

        Конечные этюды состояний загрузки.

        WAAPI · 1400 мс

        Скелет → содержание

        Меняет ожидание на готовые строки без сдвига.

        Рецепт движения
        HTML / применение
        article · aria-busy
        Триггер в продукте
        Завершение загрузки; схема
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · opacity
        Ритм
        1400 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1400 мс

        Ритм ожидания

        Даёт короткий сигнал активного процесса.

        Рецепт движения
        HTML / применение
        status · span
        Триггер в продукте
        Один конечный цикл
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        1400 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1700 мс

        Определённый прогресс

        Показывает завершение измеряемой операции.

        Рецепт движения
        HTML / применение
        progress · output
        Триггер в продукте
        Демонстрационный прогресс
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        1700 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        10

        Жесты

        Прямое управление и его альтернативы.

        ↔
        Тяните · ← → · Home / End
        Прямое управление · live

        Прямое перетаскивание

        Настоящий горизонтальный slider: pointer и клавиатура.

        Рецепт движения
        HTML / применение
        slider · input range
        Триггер в продукте
        Тянуть; ← → Home End; live
        В образце
        Прямое взаимодействие; кнопка задаёт конечную позицию.
        Владелец / свойства
        DOM listener · pointer → translateX
        Ритм
        Следует вводу пользователя, без инерции и autoplay.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1100 мс

        Возврат к позиции

        Поясняет выбор ближайшего устойчивого состояния.

        Рецепт движения
        HTML / применение
        carousel · list
        Триггер в продукте
        Отпускание; replay траектории
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        1100 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1200 мс

        Смахивание карточки

        Показывает направление завершения действия.

        Рецепт движения
        HTML / применение
        article · list
        Триггер в продукте
        Смахивание; replay траектории
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        1200 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        11

        Свет и стекло

        Материал раскрывается движением света.

        WAAPI · 1400 мс

        Блик на 3D-кромке

        Локальный свет показывает толщину без общего outline.

        Рецепт движения
        HTML / применение
        3D glass surface
        Триггер в продукте
        Короткое световое раскрытие
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        1400 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1800 мс

        Цвет за 2D-плёнкой

        Объект меняет положение за матовой поверхностью.

        Рецепт движения
        HTML / применение
        2D glass surface
        Триггер в продукте
        Материальный этюд
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        1800 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1300 мс

        Разделение спектра

        Два цветных отсвета отделяются у края.

        Рецепт движения
        HTML / применение
        3D optical accent
        Триггер в продукте
        Акцент материала
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        1300 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        12

        Объём

        Слои показывают расстояние.

        WAAPI · 1400 мс

        Наклон плоскости

        Небольшой поворот объясняет ориентацию поверхности.

        Рецепт движения
        HTML / применение
        article · figure
        Триггер в продукте
        Replay пространственного наклона
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        1400 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1500 мс

        Разбор слоёв

        Разводит перекрывающиеся плоскости по глубине.

        Рецепт движения
        HTML / применение
        layered UI
        Триггер в продукте
        Объяснение структуры
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform
        Ритм
        1500 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1200 мс

        Смена переднего плана

        Переводит внимание между слоями без анимации blur.

        Рецепт движения
        HTML / применение
        figure · layered UI
        Триггер в продукте
        Выбор приоритетного слоя
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        1200 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        13

        Хореография

        Несколько действий в одном ритме.

        WAAPI · 1100 мс

        Каскад карточек

        Обозначает порядок нескольких равнозначных объектов.

        Рецепт движения
        HTML / применение
        ul · li
        Триггер в продукте
        Открытие группы
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        1100 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1600 мс

        Процесс по шагам

        Передаёт импульс от одного этапа к следующему.

        Рецепт движения
        HTML / применение
        ol · progress
        Триггер в продукте
        Объяснение процесса
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        1600 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.
        WAAPI · 1800 мс

        Сборка композиции

        Соединяет материал, заголовок и действие.

        Рецепт движения
        HTML / применение
        section · h1 · button
        Триггер в продукте
        Однократное вступление
        В образце
        Кнопка replay; визуальный сценарий, не полная логика компонента.
        Владелец / свойства
        WAAPI · transform + opacity
        Ритм
        1800 мс; cubic-bezier(.22,1,.36,1); конечный этюд.
        Прерывание
        Новый replay, фильтр, stop, уход с экрана, скрытие вкладки и смена reduced отменяют активный этюд.
        Reduced substitute
        Читаемый статичный кадр без opacity, stagger и перемещения. Прямой slider и шкала остаются функциональными.
        Cleanup
        Animation.cancel(), снятие pointer capture, остановка прокрутки; observer отключается на pagehide и возвращается на pageshow.

        Примеры используют CSS, Web Animations API и нативные события. Физическая рефракция, полноценная spring-физика, scroll pinning и gesture recognizer не заявлены. Web Animations API ↗

        Карта композиций

        Каждому элементу —
        своя роль.

        48 авторских композиций показывают стекло в интерфейсе. Нативная семантика и состояния раскрыты выше; серверные интеграции, платежи и WebGL остаются за пределами демо.

        48 элементов
        Основа / Есть связанный live-пример

        Тема и акцент

        Две самостоятельные палитры и один локальный акцент.

        Основа / Есть связанный live-пример

        Плёнка, кромка, глубина

        Тонировка держит текст; blur отделяет задний план.

        Основа / Визуальный рецепт

        Типографика и знаки

        Кириллица, ясная шкала и спокойная поверхность чтения.

        Композиция / Есть связанный live-пример

        Контейнер и сетка

        Один ритм полей, адаптивные колонки без скрытого overflow.

        Композиция / Есть связанный live-пример

        Hero и продукт

        Один оптический объект рядом с главным сообщением.

        Композиция / Есть связанный live-пример

        Features и bento

        Контент задаёт размеры; стекло выделяет нужный слой.

        Композиция / Есть связанный live-пример

        Процесс и timeline

        Этапы читаются в естественном порядке без scroll-зависимости.

        Навигация / Есть связанный live-пример

        Header и sticky nav

        Компактная стеклянная панель, видимые текущие действия.

        Навигация / Есть связанный live-пример

        Мобильное меню

        Вертикальные ссылки, явное раскрытие и закрытие Escape.

        Навигация / Визуальный рецепт

        Sidebar и оглавление

        Тонкая граница, активный пункт и стабильная ширина.

        Навигация / Визуальный рецепт

        Breadcrumb

        Местоположение важнее эффектов; последний пункт не ссылка.

        Навигация / Визуальный рецепт

        Tabs и segmented

        Плотный активный индикатор вместо свечения текста.

        Навигация / Визуальный рецепт

        Pagination

        Текущая страница названа; доступен переход без свайпа.

        Навигация / Есть связанный live-пример

        Footer и utility links

        Спокойное завершение с полезными маршрутами.

        Контент / Визуальный рецепт

        Статья и код

        Длинный текст на плотной плоскости, код доступен для копирования.

        Контент / Есть связанный live-пример

        Карточка и сетка

        Кромка и тень отделяют объект; hover не прячет содержание.

        Контент / Есть связанный live-пример

        Accordion и FAQ

        Нативный details сохраняет смысл и клавиатурное управление.

        Контент / Визуальный рецепт

        Цитата и testimonial

        Только подтверждённая цитата; здесь явно учебный образец.

        Контент / Визуальный рецепт

        Логотипы и аватары

        Реальные материалы с правами; здесь абстрактные образцы.

        Контент / Визуальный рецепт

        Badge, tag, chip

        Акцент обозначает состояние, текст объясняет значение.

        Формы / Есть связанный live-пример

        Кнопка и icon action

        Ясный глагол, контрастная заливка и самостоятельный focus.

        Формы / Есть связанный live-пример

        Input и textarea

        Постоянная подпись, текст от 16 px, плотная внутренняя поверхность.

        Формы / Визуальный рецепт

        Select и combobox

        Для сложного списка — проверенная headless-поведенческая база.

        Формы / Есть связанный live-пример

        Checkbox и radio

        Состояние читается по отметке и подписи, не только по цвету.

        Формы / Визуальный рецепт

        Switch

        Немедленное изменение настройки; семантика switch или checkbox.

        Формы / Есть связанный live-пример

        Slider и range

        Нативный input range; значение видно и меняется клавиатурой.

        Формы / Визуальный рецепт

        Дата и время

        Нативный picker или доступная библиотека, локаль и часовой пояс.

        Формы / Визуальный рецепт

        Upload и drop area

        Кнопка выбора обязательна; не обещать загрузку без сервера.

        Формы / Есть связанный live-пример

        Поиск и фильтр

        Последний запрос побеждает; пустой результат объясняется.

        Формы / Есть связанный live-пример

        Ошибка и валидация

        Текст рядом с полем и aria-describedby; цвет не единственный сигнал.

        Данные / Визуальный рецепт

        Статистика и KPI

        Единицы и период рядом с числом; без выдуманных результатов.

        Данные / Визуальный рецепт

        Таблица и сортировка

        Плотный фон, табличные цифры, подписи и доступная сортировка.

        Данные / Визуальный рецепт

        Список и activity feed

        События остаются в порядке чтения; новые записи не крадут фокус.

        Данные / Визуальный рецепт

        График и легенда

        Дублировать смысл текстом и таблицей; неон не кодирует всё.

        Медиа / Визуальный рецепт

        Изображение и галерея

        Подпись вне стеклянного шума; alt передаёт назначение.

        Медиа / Визуальный рецепт

        Carousel

        Названные кнопки назад/вперёд, без обязательного autoplay.

        Медиа / Визуальный рецепт

        Видео и управление

        Контролы видимы, есть субтитры; autoplay не нужен.

        Медиа / Визуальный рецепт

        Карта и масштаб

        Адрес и список рядом с картой; эффекты не блокируют жесты.

        Обратная связь / Визуальный рецепт

        Tooltip и popover

        Открывать с фокуса и pointer; важный текст доступен без hover.

        Обратная связь / Есть связанный live-пример

        Dialog и sheet

        Smoke отделяет фон, focus остаётся внутри и возвращается к кнопке.

        Обратная связь / Есть связанный live-пример

        Toast и alert

        Уведомление подтверждает реальное действие, status без перехвата фокуса.

        Обратная связь / Визуальный рецепт

        Progress и skeleton

        Прогресс отражает реальное состояние; reduced — статический placeholder.

        Обратная связь / Визуальный рецепт

        Empty, error, offline

        Назвать проблему и доступное следующее действие.

        Коммерция / Визуальный рецепт

        Тариф и billing

        Период, валюта, условия; только явно демонстрационные числа.

        Коммерция / Визуальный рецепт

        Сравнение возможностей

        Читаемая матрица вместо набора светящихся карточек.

        Коммерция / Визуальный рецепт

        Товар, корзина, количество

        Цена, количество и итог согласованы; без фиктивной оплаты.

        Motion / Есть связанный live-пример

        Reveal и глубина

        Декоративный слой появляется один раз; текст уже доступен.

        Motion / Есть связанный live-пример

        Optical highlight

        Блик — отдельный ограниченный слой, без тяжёлой анимации blur.

        Превью схематические: они показывают материал семейства. Кнопка ▶ воспроизводит движение образца, а не функциональность компонента. В рецепте указан связанный live-пример и его границы.

        Ваша подборка

        23 визуальных
        ориентира.

        Сохранена исходная нумерация: № 19 повторяет № 5, № 25 пустой. Картинки открываются у источников. Наши образцы — самостоятельная реализация; движение по статичным изображениям не подтверждено.

        № 1 · Неоновое стекло

        Объём за панелью

        Циановые и розовые формы, тонкие световые края и тёмные полупрозрачные карточки.

        Посмотреть референс ↗
        № 2 · Frost

        Круглая матовая линза

        Сочная геометрия за матовым кругом. Разница чёткой и размытой формы делает материал видимым.

        Посмотреть референс ↗
        № 3 · Smoke

        Графит и лайм

        Дымчатая панель на гранёном чёрном фоне; блик по верхней границе и локальный лаймовый акцент.

        Посмотреть референс ↗
        № 4 · App shell

        Прозрачная оболочка

        Большое окно приложения пропускает цвет обоев; внутренние зоны получают собственную плотность.

        Посмотреть референс ↗
        № 5 · Слои

        Карточки в пространстве

        Высокая панель и розовые вложенные карточки образуют несколько планов на сине-фиолетовом фоне.

        Посмотреть референс ↗
        № 6 · Smoke

        Форма поверх цветной ленты

        Прозрачная широкая форма входа, белая типографика и яркая лента за стеклом.

        Посмотреть референс ↗
        № 7 · Frost

        Стеклянный первый экран

        Крупная матовая рамка над красно-голубым фоном. Это изображение макета, не работающий сайт.

        Посмотреть референс ↗
        № 8 · Light

        Светлые мобильные панели

        Холодный голубой фон, белые внутренние карточки и мягкая прозрачная внешняя оболочка.

        Посмотреть референс ↗
        № 9 · Перекрытия

        Три слоя погоды

        Тонкие наклонённые карточки: содержимое заднего слоя размывается за передним.

        Посмотреть референс ↗
        № 10 · Smoke

        Монохромные экраны

        Серые дымчатые мобильные экраны и тонкая подсветка элементов; мелкий низкоконтрастный текст не переносим.

        Посмотреть референс ↗
        № 11 · Объекты

        Оранжевый за стеклом

        Смещённые насыщенные формы позади прозрачных кругов и капсул показывают границу материала.

        Посмотреть референс ↗
        № 12 · Light

        Лавандовый плеер

        Светлые панели на лавандовом фоне, круглые белые контролы и оранжевое основное действие.

        Посмотреть референс ↗
        № 13 · Иконки

        Неон под дымчатым слоем

        Лаймовые объекты выступают из-за тёмных прозрачных иконок; небольшие острые блики.

        Посмотреть референс ↗
        № 14 · Превью видео

        Контраст температур

        Оранжевый и пурпурный круги за погодной карточкой. Изучен статичный кадр; анимация неизвестна.

        Посмотреть референс ↗
        № 15 · Превью видео

        Синяя двойная кромка

        Прозрачная панель поверх синих объёмных фигур; двойной световой край. Движение не проверено.

        Посмотреть референс ↗
        № 16 · Smoke

        Чёрное стекло чата

        Тёмные мобильные экраны с небольшими лаймовыми действиями и локальными бликами.

        Посмотреть референс ↗
        № 17 · Frost

        Фиолетовые сферы

        Яркие сферы пересекают границу тонких мобильных панелей: чёткие снаружи, мягкие за стеклом.

        Посмотреть референс ↗
        № 18 · Liquid

        Выпуклая кнопка

        Графитовая капсула с выпуклым бликом и внутренней тенью; материал читается через край.

        Посмотреть референс ↗
        № 20 · Light / liquid

        Светлая библиотека контролов

        Объёмные кнопки, поля и переключатели с пастельными бликами; переносим материал, а не текст макета.

        Посмотреть референс ↗
        № 21 · Liquid

        Оптическая палитра

        Цветные образцы и толстое прозрачное тело с радужными бликами; числовые подписи не являются CSS-спецификацией.

        Посмотреть референс ↗
        № 22 · Превью видео

        Лавандовая линза

        Прозрачная капсула деформирует видимую сетку. Статичный кадр After Effects, не доказательство web-реализации.

        Посмотреть референс ↗
        № 23 · Превью видео

        Стеклянный сегмент

        Скруглённые вкладки и полупрозрачный индикатор на пурпурном фоне. Движение по превью не подтверждено.

        Посмотреть референс ↗
        № 24 · Dark / liquid

        Неоновые компоненты

        Тёмные поля и карточки, цианово-фиолетовые блики по краю, яркие локальные действия.

        Посмотреть референс ↗
        Reference library

        Откуда
        пришли идеи.

        Источники проверены 21 октября 2026. Галереи дают композицию, документация — технические ориентиры. Движение не выводится из статичных скриншотов.

        G1 · Стекло · light + dark

        GlassKit / LUMEN

        Просмотрены обе темы в браузере. Берём принцип независимой настройки плёнки и кромки; создаём собственные элементы.

        Открыть первоисточник ↗
        G2 · Стекло · оптика

        Remember / Glassmorphism

        Просмотрен тёмный hero с кольцами и прозрачной панелью. Наши motion-рецепты самостоятельные, тайминг источника не измерялся.

        Открыть первоисточник ↗
        G3 · Первичная документация

        Microsoft Fluent / Material

        Разделение solid, acrylic и smoke. Адаптируем роли материалов для веба, без зависимости от WinUI.

        Открыть первоисточник ↗
        G4 · Первичная документация

        Microsoft / Acrylic

        Размытие, тонировка и глубина. Избегаем многократного вложенного blur и сохраняем плотный fallback.

        Открыть первоисточник ↗
        G5 · Нативный материал · вдохновение

        Apple / Liquid Glass

        Оптическая иерархия контролов и навигации. CSS blur не воспроизводит нативный движок преломления Apple.

        Открыть первоисточник ↗
        H1 · Hero · композиция

        Reflect / Supahero

        Просмотрен скриншот: световой горизонт и крупный заголовок. Переносим иерархию, не чужие изображения или анимацию.

        Открыть первоисточник ↗
        P1 · Тарифы · структура

        Fey / Pricing Pages

        Просмотрены desktop/mobile. Один главный выбор и FAQ. Не переносим низкий контраст крупной цены.

        Открыть первоисточник ↗
        N1 · Навигация · desktop + mobile

        Supaste / Navbar Gallery

        Компактная шапка и вертикальное мобильное меню. Поведение клавиатуры реализуем и проверяем отдельно.

        Открыть первоисточник ↗
        C1 · CTA · структурный ориентир

        Eternalblue / CTA Gallery

        Контекстная кнопка рядом с продуктом. Это референс композиции, а не стеклянного материала.

        Открыть первоисточник ↗
        F1 · Футер · структурный ориентир

        Eclipse Space / Footer Design

        Выразительное завершение и компактные полезные ссылки. Motion по одному изображению не подтверждён.

        Открыть первоисточник ↗

        Стеклянное кольцо курсора

        Живой образец: наведите на кнопку. Диаметр 48 px сохраняется; неоновое свечение плавно пульсирует за 1,8 секунды, пока указатель над активным элементом. Нажатие сжимает кольцо до 32 px (⅔), отпускание возвращает 48 px.

        Без текста внутри и без расходящейся волны. Поля ввода сохраняют нативный указатель. На сенсорных устройствах, при reduced motion и forced colors используется обычный курсор.

        Материал
        в действии.

        Открыть тестовый сайт ↗

        Рецепт