Codex
npx skills add https://github.com/rdsolod-ui/glass-neon-motion-skill/tree/main/skill/glass-neon-motion --agent codex --global --copyВ терминале · для всех проектов
GLASS / NEON / MOTION · SKILL
Установите скилл из GitHub и используйте материалы, компоненты и правила движения в своих проектах.
npx skills add https://github.com/rdsolod-ui/glass-neon-motion-skill/tree/main/skill/glass-neon-motion --agent codex --global --copyВ терминале · для всех проектов
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 ↗
Прозрачность. Свет. Глубина. Коллекция материалов, элементов и движений для живого интерфейса.
Движение включено
Маршруты website-reference-pack. Референсы композиции, не лицензия на копирование и не готовые компоненты. Проверено 23 октября 2026.
Первый экран и иерархия заголовка. Сайт сообщает о переходе в Screensdesign.
Открыть галерею ↗Тарифы, сравнительные таблицы и структура предложений.
Открыть галерею ↗Навигация: static, sticky, dropdown и mega menu.
Открыть галерею ↗Действия: кнопки, формы, подписка и скачивание.
Открыть галерею ↗Подвалы: типографика, сетки и завершение страницы.
Открыть галерею ↗Для интерактивного сравнения компонентов включите JavaScript. Готовые примеры Clear, Frost и вариантов края доступны в разделе «Стекло» ниже.
Настройте материал, палитры и отклик. Получите CSS-токены, JSON и небольшой runtime для анимаций. Изменения сразу видны в мудборде.
Типографика / 47 образцов
Manrope и новый editorial-набор Onest / Inter по типографическому ритму WowPovod. Жирные акценты, ясная иерархия и конечное движение. Все примеры доступны для подборок и экспорта.
Свет.
Форма.
Характер.
Прозрачный материал. Выразительная типографика.
Хороший интерфейс начинается с ясного сообщения. Материал поддерживает смысл.
Свет проходит сквозь стекло, оставляя фон различимым. Спокойная строка помогает читать длинные объяснения. Главная мысль получает вес. Остальному тексту достаточно пространства.
Не каждый фрагмент должен привлекать одинаковое внимание. Заголовок обозначает маршрут, вводный текст задаёт контекст, а основной абзац раскрывает подробности.
Разумная длина строки и устойчивый межстрочный интервал сохраняют ритм чтения на широком и узком экране.
«Ясность — самая выразительная форма внимания».Демонстрационная цитата · LUMA
Коллекция / 2026
Рисунок 01. Свет на оптическом крае.
Короткое название поможет найти её позже.
Ошибка. Укажите название.
Готово. Изменения сохранены.
Демонстрационные сообщения состояния.
128 м²
2 490 ₽
Демонстрационная цена за комплект.
2 990 ₽ · Экономия 500 ₽
| Материал | Слой | Значение |
|---|---|---|
| Clear | Depth | 0,8 |
| Frost | Film | 16,0 |
Токен --type-body
font-weight: 800;
line-height: 1.1;Сохранить: Ctrl + S
Пример условий. Значения в атласе демонстрационные. Рабочие формы не отправляют данные на сервер.
Важное — жирным. Смысловое ударение — прямым начертанием. Выделение — на спокойной подложке.
UI · H2O · м2
Выберите компоненты в атласе и сохраните их вместе.
Ёж, щука, чай. Свет и тень.
Clear type. Bold ideas.
0123456789 · № 24 · 50 % · ₽ € $
Авторская серия / 01
СВЕТ
ОСТАЁТСЯ.
Появление слоями · 900 мс
Материал открывается.
Смысл остаётся.
Маска и мягкое смещение · 900 мс
2026
Год новых идей
Мягкий масштаб · 900 мс
Глубина мысли.
Свежий взгляд.
Смелый голос.
Тёплый свет.
Смысл.
Движение.
В фокусе.
Новый ракурс.
Ближе к сути.
Открытый смысл.
РИТМ.
Сначала увидеть.
Затем понять.
И действовать.
01 Материал и характер
Прозрачность оставляет место содержанию. Типографика задаёт ритм и помогает увидеть главное.
Исследовать систему02 Коллекция
От короткого действия до длинного чтения. Размер, вес и паузы связывают элементы одной страницы.
Заголовок остаётся плотным и коротким. Описание получает свободный интервал, чтобы спокойно объяснить назначение материала.
Читать описаниеУчебные параметры: значения меняются в редакторе темы.
03 Навигационный ритм
Метки короткие. Разрядка относится к надписям, а не к основному абзацу.
04 Учебная метрика
128 м²
Единицы тише числа. Табличные цифры сохраняют ширину при обновлении значения.
Крупный заголовок открывает тему. Вводный абзац помогает понять её без лишних деталей.
Основной текст набран нейтральным гротеском. У строки есть предел ширины, а у абзацев — понятные паузы. В длинном объяснении читатель не должен искать, где заканчивается одна мысль и начинается следующая.
Вес выделяет смысл. Цвет связывает отдельные акценты. Подложка поддерживает читаемость и не дробит каждое предложение на самостоятельную карточку.
05 Демонстрационный тезис
«Пауза между словами тоже работает на смысл».Учебная композиция · LUMA
Главное действие получает вес. Дополнительная ссылка остаётся заметной и спокойной.
Ссылки ведут к разделам исходного атласа; серверной операции нет.
06 Короткий ответ
Начните с контраста и длины строки. Добавляйте свет и прозрачность после того, как сообщение хорошо читается на спокойной поверхности.
2 490 ₽
Пример оформления цены. Покупка и оплата не подключены.
07 Кириллица и латиница
Onest — заголовки и акценты. Inter — основной текст. Оба шрифта поставляются с кириллицей: Ёж, щука, чай, № 12.
Прямые начертания · без курсива и засечек
Нажмите, выберите, раскройте. 76 рабочих примеров: от свитчера до диаграммы. Все данные учебные, действия остаются в браузере.
Компоненты · HTML · анимации · композиции · референсы. Русские и английские названия.
76 рабочих примеров в 24 группах
Каждая группа раскрывается отдельно. «Рабочий пример» означает локальное поведение в пределах подписи; платежи, отправка сообщений и настоящая авторизация не подключены.
Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.
Текст, поля и акценты переключаются вместе.
Тема соответствует общей настройке страницы.
Цвет обозначает акцент, подпись сохраняет смысл.
Cyan выбран
Свободная плотность
Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.
Приоритет, выбор команды и завершение операции.
1 слой. Добавьте ещё один или сбросьте композицию.
Учебная операция длится 1,2 секунды. Сервер не используется.
Готово к сборке.
Выберите формат, затем создайте элемент.
Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.
Выберите образец и откройте его спецификацию.
Палитра ещё не выбрана
Баннер открыт
Сохраните подборку в рамках этой сессии.
Подборка не сохранена
Настройка сразу меняет объект; множественный и единичный выбор различаются.
Постоянная подпись, понятный пример ввода и видимое значение.
Подпись остаётся видимой после ввода; placeholder исчезает.
Проект ещё не назван · 1280 px.
0 / 180 знаков · высота растёт до 8 строк
Здесь появится ваше описание.
Введите любой код из шести цифр. Проверяется формат, не подлинность.
Учебные поля. Не вводите настоящий пароль.
Нативный выбор, поиск варианта и диапазон значений.
Frost · без дополнительных слоёв.
Стрелки — вариант, Enter — выбрать, Escape — закрыть. Можно касаться строки.
Выбор ещё не сделан.
Допустимое значение: 20–80. Дата: 2026-10-22.
Короткий tooltip, интерактивный popover и пошаговое обучение.
Наведите указатель, перейдите Tab или коснитесь кнопки. Escape скрывает пояснение. В tooltip нет интерактивных элементов.
Пояснение также доступно при фокусе.
Плотный фон защищает длинный текст. Выберите, где показывать помощь.
Короткое название помогает найти материал в каталоге.
Inline-помощь включена.
Объяснения остаются рядом с объектами и не блокируют страницу.
Обзор ещё не начат.
Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.
Сочетание запроса и фильтров, команды и сохранённое представление.
4 материала.
Палитра управляет только этим образцом.
Выбрано: 2D, 3D. Сохранение только в памяти страницы.
Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.
Цвет и контраст читаются сквозь слой.
Карточка вне коллекции
Плёнка не показывает толщину. Стекло передаёт её направленными краевыми бликами и внутренней тенью.
Матовая поверхность рассеивает фон; глянцевая сохраняет его ясность и добавляет отражённый свет.
Показано 3 материала
Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.
Сортировка, фильтрация, массовые действия, раскрытие и проверяемое редактирование. Состояния локальные; данные учебные.
Учебный реестр · 6 материалов
| Статус | |||
|---|---|---|---|
| Aurora | 12 | Черновик | |
| Clear | 28 | Готово | |
| Frost | 24 | Черновик | |
| Prism | 36 | Черновик | |
| Smoke | 18 | Готово | |
| Solid | 0 | Готово |
Выбор сохраняется при фильтрации. Общий переключатель выбирает только видимые строки; массовое действие относится ко всем выбранным.
Редактирование на месте · 5 баллов за единицу
| Материал | Количество, ед. | Баллы | Действие |
|---|---|---|---|
| Frost | 20 | ||
| Clear | 30 | ||
| Prism | 40 |
Целое число 0–99. Enter сохраняет, Escape отменяет. Итог пересчитывается после сохранения.
12 рабочих SVG-примеров: сравнение, время, распределение, связи, доли, иерархия, потоки, условная география и мониторинг. Точные значения доступны таблицей.
Сравнение / ед. / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
Сумма 100 ед. Исходный порядок.
| Материал | Количество, ед. |
|---|---|
| Frost | 42 |
| Smoke | 28 |
| Prism | 18 |
| Solid | 12 |
Длина от нуля; сортировка меняет порядок, а не значения.
Сравнение / ед. / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
Показаны серии: План, Факт.
| Материал | План, ед. | Факт, ед. |
|---|---|---|
| Frost | 30 | 50 |
| Smoke | 45 | 35 |
| Prism | 60 | 70 |
| Solid | 55 | 40 |
Общая линейная шкала. Серии различаются цветом и узором.
Время / ед. / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
Шкала 0–100 ед.; пропуск показан разрывом. Май—октябрь, учебный период.
| Месяц | План, ед. | Факт, ед. |
|---|---|---|
| Май | 30 | 24 |
| Июнь | 36 | 32 |
| Июль | 48 | Нет данных |
| Август | 56 | 47 |
| Сентябрь | 60 | 55 |
| Октябрь | 68 | 64 |
Разрыв — отсутствие наблюдения, не ноль. Пропуск не интерполируется.
Распределение / наблюдений / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
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.
| Интервал, мин | Наблюдений |
|---|---|
| [0; 4) | 4 |
| [4; 8) | 7 |
| [8; 12) | 6 |
| [12; 16] | 7 |
Равные интервалы [a, b), последний включает правую границу. Исходная выборка доступна ниже.
Связи / мин / баллы / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
8 наблюдений. Круг — A; ромб — B. Значения доступны в таблице.
| Наблюдение | Команда | Время, мин | Баллы |
|---|---|---|---|
| P1 | Команда A | 1 | 25 |
| P2 | Команда A | 2 | 36 |
| P3 | Команда A | 4 | 55 |
| P4 | Команда A | 6 | 62 |
| P5 | Команда B | 3 | 20 |
| P6 | Команда B | 5 | 45 |
| P7 | Команда B | 7 | 70 |
| P8 | Команда B | 9 | 88 |
Каждая точка — отдельное учебное наблюдение; связь не доказывает причинность.
Доли / ед. / % / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
Всего 100 ед. Четыре доли образуют 100%.
| Материал | Количество, ед. | Доля, % |
|---|---|---|
| Frost | 42 | 42 |
| Smoke | 28 | 28 |
| Prism | 18 | 18 |
| Solid | 12 | 12 |
Сектора рассчитаны от общей суммы. Точные значения и доли есть в таблице.
Доли / % / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
Показаны серии: План, Факт. Сумма каждой строки — 100% выбранных серий.
| Материал | План, ед. | Факт, ед. | План, % | Факт, % |
|---|---|---|---|---|
| Frost | 30 | 50 | 37,5 | 62,5 |
| Smoke | 45 | 35 | 56,3 | 43,8 |
| Prism | 60 | 70 | 46,2 | 53,8 |
| Solid | 55 | 40 | 57,9 | 42,1 |
Каждая строка нормируется до 100% выбранных серий. Абсолютные значения не теряются в таблице.
Иерархия / ед. / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
Вся иерархия: 100 ед. Площади пропорциональны долям выбранной ветви.
| Ветвь | Материал | Количество, ед. |
|---|---|---|
| Базовые | Frost | 42 |
| Базовые | Smoke | 28 |
| Оптические | Prism | 18 |
| Оптические | Solid | 12 |
Два уровня, алгоритм slice-and-dice. Площадь пропорциональна величине; можно раскрыть ветвь.
Потоки / ед. / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
Вход = выход = 120 ед. Толщина каждого потока использует общий масштаб.
| Источник | Назначение | Поток, ед. |
|---|---|---|
| Прямой | Обзор | 20 |
| Прямой | Пример | 10 |
| Прямой | Экспорт | 10 |
| Поиск | Обзор | 5 |
| Поиск | Пример | 25 |
| Поиск | Экспорт | 10 |
| Письмо | Обзор | 15 |
| Письмо | Пример | 5 |
| Письмо | Экспорт | 20 |
Двухэтапный Sankey: ширина ленты пропорциональна потоку. Суммы входов и выходов равны.
География / % / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
Шесть вымышленных областей; цвет кодирует процент, не площадь региона. Границы шкалы 0 / 25 / 50 / 75 / 100%.
| Условная область | Доля, % |
|---|---|
| R1 | 65 |
| R2 | 35 |
| R3 | 80 |
| R4 | 20 |
| R5 | 55 |
| R6 | 95 |
Авторская условная география из шести областей; не реальные территории, границы или статистика.
Мониторинг / % / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
Последнее значение 64%. Цель 70%. До цели 6 п. п.
| Период | Значение, % | Цель, % |
|---|---|---|
| 1 | 35 | 70 |
| 2 | 40 | 70 |
| 3 | 38 | 70 |
| 4 | 50 | 70 |
| 5 | 52 | 70 |
| 6 | 58 | 70 |
| 7 | 61 | 70 |
| 8 | 64 | 70 |
Bullet со шкалой 0–100, целью 70 и историей из восьми учебных периодов.
Мониторинг / ед. / демоданные
На узком экране график прокручивается; точные значения — в таблице ниже.
0 из 8 точек вне учебных границ. Ромб обозначает выход.
| Наблюдение | Значение, ед. | Статус |
|---|---|---|
| 1 | 48 | Внутри границ |
| 2 | 52 | Внутри границ |
| 3 | 50 | Внутри границ |
| 4 | 47 | Внутри границ |
| 5 | 51 | Внутри границ |
| 6 | 49 | Внутри границ |
| 7 | 53 | Внутри границ |
| 8 | 50 | Внутри границ |
Учебные фиксированные границы 35/65 и центр 50; это не статистически оценённые нормативы процесса.
Вкладки с панелями, вложенное раскрытие и master/detail.
Цветная форма продолжается под плёнкой и рассеивается внутри неё.
Текст располагается на стабильном фоне; неон остаётся акцентом.
Изменение состояния видно и при выключенной анимации.
Свет сверху слева, затухание к нижнему краю.
Прозрачность и размытие убираются, структура и контраст сохраняются.
Кромка включена. Это дерево native details, не ARIA treeview.
Мягкое рассеивание для фоновых панелей.
Выбран Frost. На узком экране панели расположены вертикально.
Диалог редактирования, подтверждение и нижняя панель.
Изменения действуют только в этом образце.
Слой присутствует.
Выбран Frost. Выбор применяется только после подтверждения.
Реальный локальный результат, отмена и журнал уведомлений.
Образец в коллекции. Undo не исчезает по таймеру.
Новые данные недоступны. Последняя локальная копия сохранена.
Сеть не проверяется: это явная симуляция состояний.
2 непрочитанных уведомления.
Измеримый прогресс, скелетон и выход из пустого состояния.
Обработано 0 из 5. Это учебный таймер, не загрузка файла.
Матовая плёнка и локальный голубой акцент.
Данные уже видимы. По кнопке — симуляция ожидания 1 секунду.
Создайте первый материал — он появится здесь.
0 материалов.
Проверка, пошаговый ввод и сохранение черновика.
Форма только проверяет значения, ничего не отправляет.
Шаг 1 из 3. Все данные остаются на странице.
Нет изменений
Это локальный черновик, перезагрузка очищает сохранённое.
Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.
Безопасная демонстрация входа, предпочтений и согласий.
Учебная форма: используйте любые вымышленные данные. Настоящей авторизации нет.
Не авторизовано. Пароль не хранится и не отправляется.
Мягкая плёнка. Голубой локальный акцент.
Последнее изменение: сейчасНастройки меняют только карточку ниже.
Учебный выбор. Cookie, аналитика и сторонние запросы не создаются.
Ничего не применено. Текущий пример не устанавливает cookie.
Самостоятельные композиции с локальным поведением. Управляйте с клавиатуры, мышью или касанием.
На карточке: Alt + ← / →. Или используйте кнопки.
Задача в колонке «План»
Выберите дату. События не создаются.
Сначала материал, затем движение.
Простой preview: # заголовок, **жирный** текст.
В рабочих UI-примерах совпадений нет. Проверьте результаты других разделов выше или сбросьте поиск.
Одинаковый фон под четырьмя поверхностями. По умолчанию — прозрачное глянцевое стекло. Сравните резкость, отражение и толщину. Выбранный материал применяется к оболочке страницы и рабочим UI-примерам.
Мягкое рассеивание. Плоский край без толщины.
Диффузия и локальная фаска. Свет собирается у края.
Почти резкий фон. Узкое отражение без объёмной кромки.
Прозрачная толща, направленный блик и внутренняя грань.
Глянцевое стекло · 3D. CSS-имитация, без физической рефракции.
Авторские CSS-образцы по вашим референсам. Frost и Smoke — плоская плёнка без обводки. Liquid — объёмный край с направленным бликом и внутренней тенью. Цвет за стеклом раскрывает оба материала.
Чёткий объект вне панели становится мягким внутри. Перекрытие показывает расстояние между слоями.
Чёткий объект вне панели становится мягким внутри. Перекрытие показывает расстояние между слоями.
Цветная форма остаётся видна за дымчатой плоскостью. Текст получает собственный спокойный участок.
Цветная форма остаётся видна за дымчатой плоскостью. Текст получает собственный спокойный участок.
Двойной блик и внутренняя тень создают иллюзию толщины. Это CSS-стилизация, не физическая рефракция.
Двойной блик и внутренняя тень создают иллюзию толщины. Это CSS-стилизация, не физическая рефракция.
44 рабочих локальных вариантов в 15 семействах. Сравнивайте форму, плотность и поведение отдельно от материала. Все значения — демонстрационные.
Материал наследуется от общих переключателей «Стекло». Найти отдельный вариант можно через единый поиск UI выше. Скроллбары остаются системными: внешний вид зависит от браузера и ОС.
Обычная шкала с числом и подписью.
Используется со стилями 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>Для компактной строки состояния.
Используется со стилями 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>Число внутри кольца, единый доступный progressbar.
Используется со стилями 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>Десять дискретных секций и точный процент рядом.
Используется со стилями 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>Системная механика, окрашенные ползунок и дорожка.
01 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
02 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
03 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
04 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
05 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
06 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
07 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
Используется со стилями 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>Тонкий ползунок; область доступна клавишами и касанием.
01 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
02 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
03 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
04 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
05 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
06 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
07 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
Используется со стилями 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>Нативная прокрутка и мягкое snap-позиционирование.
Используется со стилями 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>Шкала вычисляется по фактическому положению текста.
01 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
02 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
03 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
04 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
05 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
06 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
07 / Материал и пространство. Прозрачное стекло сохраняет цвет подложки, а плотная зона чтения помогает различать содержание. Прокрутка остаётся нативной: колёсико, касание и клавиши работают привычно.
Используется со стилями 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>Короткая загрузка, завершение и отмена.
Готово к демонстрации
Используется со стилями 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>Конечный ритм без бесконечного движения.
Готово к демонстрации
Используется со стилями 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>Статический каркас, затем готовое содержание.
Готово к демонстрации
Используется со стилями 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>Переход от пустой области к локальному результату.
Готово к демонстрации
Используется со стилями 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>Текущий шаг, движение назад и вперёд.
Шаг 1 из 3 · Материал
Используется со стилями 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>Для узких колонок и длинных подписей.
Шаг 1 из 3 · Материал
Используется со стилями 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>Минимальная композиция с тем же состоянием.
Шаг 1 из 3 · Материал
Используется со стилями 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>Основная, вторичная и текстовая кнопки.
Нажмите доступную кнопку — результат появится здесь.
Используется со стилями 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>Округлая форма и явное pressed-состояние.
Нажмите доступную кнопку — результат появится здесь.
Используется со стилями 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>Разные внутренние отступы, зона нажатия от 44 px.
Нажмите доступную кнопку — результат появится здесь.
Используется со стилями 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>Основное действие, disabled и локальное удаление демо.
Нажмите доступную кнопку — результат появится здесь.
Используется со стилями 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>Единица измерения остаётся рядом со значением.
Ширина: 320 px
Используется со стилями 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>Плюс, минус и ручной ввод с границами.
Выбрано: 3
Используется со стилями 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>Остаток длины без подмены подписи placeholder-ом.
Используется со стилями 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>Валидация с доступной ошибкой без отправки данных.
Используется со стилями 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>Крупное число и компактный контекст.
проверенных образца · демоданные
Используется со стилями 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>Кликабельная подпись настоящего checkbox.
Материал не выбран
Используется со стилями 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>Нативное раскрытие дополнительного содержания.
Компактный заголовок раскрывает описание. Нативный details поддерживает клавиатуру и не требует искусственной роли.
Используется со стилями variation-atlas.css и локальным поведением variation-atlas.js. Это пример, не готовый backend.
<div class="vx-content-demo disclosure"><details class="vx-disclosure"><summary>Карточка с подробностями</summary><p>Компактный заголовок раскрывает описание. Нативный details поддерживает клавиатуру и не требует искусственной роли.</p></details></div>Текст передаёт состояние независимо от цвета.
Используется со стилями 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>Независимые нажимаемые метки с общим результатом.
Выбрано: Стекло
Используется со стилями 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>Измеренная величина, а не ход выполнения задачи.
Используется со стилями 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">Смена результата в потоке без перекрытия страницы.
Используется со стилями 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>Переключение страниц и честные границы.
Страница 1 из 3
Используется со стилями 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>Постепенное раскрытие девяти локальных результатов.
Показано 3 из 9
Используется со стилями 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>Три этапа с текущим состоянием и текстовым пояснением.
Текущий этап: Получено
Используется со стилями 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>Та же последовательность в горизонтальной композиции.
Текущий этап: Получено
Используется со стилями 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>Добавление, удаление и ручное моделирование обработки.
Файлы остаются на устройстве; читаются только имена и размеры. Максимум 5 файлов.
Очередь пуста
Используется со стилями 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>Тот же локальный сценарий в карточной раскладке.
Файлы остаются на устройстве; читаются только имена и размеры. Максимум 5 файлов.
Очередь пуста
Используется со стилями 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 непрочитанных
Используется со стилями 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>Убрать последнее сообщение и восстановить его.
2 непрочитанных
Используется со стилями 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>Нативная radio-группа с текстовой альтернативой.
Используется со стилями 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>Непрерывный выбор 0–10 без выдуманных отзывов.
Учебная оценка сохраняется только на открытой странице.
Используется со стилями 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>Две границы в рублях; это демоданные, не предложение.
Два связанных нативных ползунка; минимум не превышает максимум.
Используется со стилями 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>Независимые ручки с ограничением пересечения.
Два связанных нативных ползунка; минимум не превышает максимум.
Используется со стилями 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>Нативный ползунок управляет пропорцией колонок.
Материал
Композиция
Состояние
Размер панелей меняется без потери содержимого. Ползунок доступен с клавиатуры.
Используется со стилями 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>Изменение высоты панелей, содержимое прокручивается.
Материал
Композиция
Состояние
Размер панелей меняется без потери содержимого. Ползунок доступен с клавиатуры.
Используется со стилями 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>От тега до рабочего контрола. 113 HTML-элементов, 2 соседних пространства имён, 22 типа input и 12 групп состояний. Раскройте строку: слева образец, справа рецепт.
<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>Вариант выбораЖивой HTMLvalue — данные; выбранное и недоступное состояния задаются явно.
<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Обновляется по 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Число — учебное состояние, а не текущая загрузка.
<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 ↗<details>Нативное раскрытиеЖивой HTMLЦвет под поверхностью, диффузия и локальный свет на 3D-краю.
Клавиатура работает без JavaScript. Содержимое раскрывается без анимации высоты.
<details><summary>Что делает стекло выразительным?</summary><p>Цвет под поверхностью, диффузия и локальный свет на 3D-краю.</p></details>Документация details ↗<summary>Заголовок раскрытияЖивой HTMLПервый summary внутри details; не вкладывайте в него другие кнопки.
<details><summary>Показать свойства</summary><dl><dt>Материал</dt><dd>2D Frost</dd></dl></details>Документация summary ↗<dialog>Модальный диалогЖивой HTMLshowModal, 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 ↗<header>Вступление секцииЖивой HTMLПоверхности со светом
Содержательное вступление; материал не меняет семантику.
<header><small>ОПТИЧЕСКАЯ ЛАБОРАТОРИЯ</small><p><strong>Поверхности со светом</strong></p></header>Документация header ↗<main>Основное содержимоеРецептОсновное содержимое
Код без встраивания в документОдна видимая основная область страницы. В атласе не создаём вложенный main.
<main id="content">
<h1>Название страницы</h1>
<section>…</section>
</main>Документация main ↗<section>Тематический разделЖивой HTMLСамостоятельная тема с явным заголовком.
Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
<section><h4>Оптика</h4><p>Самостоятельная тема с явным заголовком.</p></section>Документация section ↗<article>Самостоятельная карточкаЖивой HTMLМатовая поверхность с мягкой диффузией.
Образец коллекцииСемантический элемент в авторском образце. Стекло задаётся 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 ↗<address>Контактная информацияЖивой HTMLДемонстрационный адрес на 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 ↗<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 ↗<p>АбзацЖивой HTMLСтекло становится видимым там, где свет встречается с цветом. Текст остаётся на спокойной поверхности.
Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
<p>Стекло становится видимым там, где свет встречается с цветом. Текст остаётся на спокойной поверхности.</p>Документация p ↗<div>Универсальный контейнерЖивой HTMLИспользуйте, когда у группы нет более точной семантики.
<div class="ha-stack"><span>Слой света</span><span>Слой материала</span><span>Слой содержания</span></div>Документация div ↗<blockquote>Отдельная цитатаЖивой HTML«Сначала ясная композиция, затем движение».
Авторский пример, не приписанная кому-либо цитата.
<blockquote><p>«Сначала ясная композиция, затем движение».</p><footer>Учебная фраза LUMA</footer></blockquote>Документация blockquote ↗<pre>Форматированный блокЖивой HTMLsurface 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Семантический элемент в авторском образце. Стекло задаётся 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 ↗<ul>Неупорядоченный списокЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
<ul><li>Прозрачность</li><li>Диффузия</li><li>Направленный свет</li></ul>Документация ul ↗<ol>ПоследовательностьЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
<ol><li>Выбрать материал</li><li>Настроить свет</li><li>Проверить текст</li></ol>Документация ol ↗<li>Элемент спискаЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
<ul><li><strong>Frost</strong> — плоская плёнка</li><li><strong>Liquid</strong> — объёмный край</li></ul>Документация li ↗<dl>Пары термин — значениеЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся 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 ↗<a>СсылкаЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
<a href="#ha-states">Перейти к состояниям ↗</a>Документация a ↗<abbr>СокращениеЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
<abbr title="Web Animations API">WAAPI</abbr> — Web Animations APIДокументация abbr ↗<b>Ключевое словоЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
Материал <b>Frost</b> в новой коллекции.Документация b ↗<strong>ВажностьЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
<strong>Не теряйте видимый фокус.</strong>Документация strong ↗<em>Смысловое ударениеЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
Сначала <em>читаемость</em>, затем эффект.Документация em ↗<i>Иной голосЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся 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Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
glass<wbr>material<wbr>collection<wbr>previewДокументация wbr ↗<code>Фрагмент кодаЖивой HTMLbackdrop-filter: blur(14px)Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
<code>backdrop-filter: blur(14px)</code>Документация code ↗<kbd>Клавиатурный вводЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
Нажмите <kbd>Tab</kbd>, затем <kbd>Enter</kbd>.Документация kbd ↗<samp>Ответ программыЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
<samp>Образец готов · 0 ошибок</samp>Документация samp ↗<var>ПеременнаяЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
Толщина: <var>t</var> = 3Документация var ↗<sub>Нижний индексЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
H<sub>2</sub>OДокументация sub ↗<sup>Верхний индексЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
Площадь: 16 м<sup>2</sup>Документация sup ↗<q>Строчная цитатаЖивой HTMLОдин владелец свойства.
Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
Правило: <q>Один владелец свойства</q>.Документация q ↗<cite>Название произведенияЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
<cite>Оптическая лаборатория LUMA</cite>Документация cite ↗<dfn>Определяемый терминЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся 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Семантический элемент в авторском образце. Стекло задаётся CSS и не меняет назначение тега.
Автор: <bdi>نور</bdi> · слой 01Документация bdi ↗<bdo>Направление текстаЖивой HTMLСемантический элемент в авторском образце. Стекло задаётся 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 ↗<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 ↗<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 ↗<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Корень 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 ↗<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 ↗Совпадений нет. Очистите поиск или выберите «Вся карта».
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>Кнопки, селекторы и поля проверяются в состояниях: действие, выбор, фокус, ошибка и недоступность. Все действия ниже локальные.
Иерархия действия определяется смыслом. Neon — один главный акцент.
Toggle сохраняет имя и меняет aria-pressed. У icon-only есть доступная подпись.
Реальный локальный конечный переход состояния; никакой сетевой операции.
Нативные radio дают Tab + стрелки; обе подписи доступны на телефоне.
Нативный multiple; при сложном поиске нужен отдельный combobox/listbox с полным клавиатурным контрактом.
Switch — два состояния; radio выбирает один вариант из набора.
Начальное indeterminate задаётся JS.
Смешанное состояние — свойство DOM, не атрибут checked. После клика элемент становится обычным checkbox.
Readonly остаётся доступным для фокуса и копирования; disabled — нет.
Введите название, чтобы продолжить. Учебное состояние ошибки.
Ошибка передаётся текстом и связью aria-describedby, а не только цветом.
Плёнка без оптической толщины. Закрыть: Escape или касание снаружи.
Нативный popover доступен через click/touch/keyboard. Это не tooltip только на hover.
aria-current обозначает место; ссылки сохраняют обычную навигацию.
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.
39 авторских этюдов: от одного нажатия до композиции из нескольких слоёв. Прокрутка и slider работают напрямую. Остальные образцы показывают движение; они не заменяют готовые компоненты.
Один активный образец. Без фоновых циклов. 2D-плёнка и 3D-кромка — разные материалы.
Действие получает понятный ответ.
Подтверждает контакт, не смещая соседей.
Рисует понятный знак завершения.
Короткое отклонение привлекает внимание к ошибке.
Появление объясняет иерархию.
Связывает новый слой с точкой появления.
Показывает уход без внезапного обрыва.
Открывает композицию от опорной стороны.
Сохраняем положение и контекст.
Сохраняет идентичность элементов при сортировке.
Поясняет связь заголовка и дополнительных строк.
Один объект связывает компактное и подробное состояние.
Движение связано с чтением.
01 / Начало
Прокрутите этот
небольшой текст.
Шкала следует
за чтением.
02 / Середина
Движением
управляете вы.
03 / Конец
Настоящая прокрутка внутри образца управляет шкалой.
Разделяет ближний и дальний планы.
Иллюстрирует остановку заголовка при движении текста.
Слова сохраняют смысл и целостность.
Ведёт взгляд по фразе без разбивки графем.
Выделяет одну важную часть фразы.
Сохраняет место при замене короткого сообщения.
Линия становится рассказом.
Последовательно открывает связь между точками.
Проводит маркер по конечной траектории.
Связывает два состояния простой формы.
Изменение видно, число остаётся доступным.
Делает соотношение величин видимым.
Сохраняет позицию цифр при изменении значения.
Выделяет завершённую долю.
Конечные этюды состояний загрузки.
Меняет ожидание на готовые строки без сдвига.
Даёт короткий сигнал активного процесса.
Показывает завершение измеряемой операции.
Прямое управление и его альтернативы.
Настоящий горизонтальный slider: pointer и клавиатура.
Поясняет выбор ближайшего устойчивого состояния.
Показывает направление завершения действия.
Материал раскрывается движением света.
Локальный свет показывает толщину без общего outline.
Объект меняет положение за матовой поверхностью.
Два цветных отсвета отделяются у края.
Слои показывают расстояние.
Небольшой поворот объясняет ориентацию поверхности.
Разводит перекрывающиеся плоскости по глубине.
Переводит внимание между слоями без анимации blur.
Несколько действий в одном ритме.
Обозначает порядок нескольких равнозначных объектов.
Передаёт импульс от одного этапа к следующему.
Соединяет материал, заголовок и действие.
Подходящих движений нет. Измените запрос или группу.
Примеры используют CSS, Web Animations API и нативные события. Физическая рефракция, полноценная spring-физика, scroll pinning и gesture recognizer не заявлены. Web Animations API ↗
48 авторских композиций показывают стекло в интерфейсе. Нативная семантика и состояния раскрыты выше; серверные интеграции, платежи и WebGL остаются за пределами демо.
Две самостоятельные палитры и один локальный акцент.
Тонировка держит текст; blur отделяет задний план.
Кириллица, ясная шкала и спокойная поверхность чтения.
Один ритм полей, адаптивные колонки без скрытого overflow.
Один оптический объект рядом с главным сообщением.
Контент задаёт размеры; стекло выделяет нужный слой.
Этапы читаются в естественном порядке без scroll-зависимости.
Компактная стеклянная панель, видимые текущие действия.
Вертикальные ссылки, явное раскрытие и закрытие Escape.
Тонкая граница, активный пункт и стабильная ширина.
Местоположение важнее эффектов; последний пункт не ссылка.
Плотный активный индикатор вместо свечения текста.
Текущая страница названа; доступен переход без свайпа.
Спокойное завершение с полезными маршрутами.
Длинный текст на плотной плоскости, код доступен для копирования.
Кромка и тень отделяют объект; hover не прячет содержание.
Нативный details сохраняет смысл и клавиатурное управление.
Только подтверждённая цитата; здесь явно учебный образец.
Реальные материалы с правами; здесь абстрактные образцы.
Акцент обозначает состояние, текст объясняет значение.
Ясный глагол, контрастная заливка и самостоятельный focus.
Постоянная подпись, текст от 16 px, плотная внутренняя поверхность.
Для сложного списка — проверенная headless-поведенческая база.
Состояние читается по отметке и подписи, не только по цвету.
Немедленное изменение настройки; семантика switch или checkbox.
Нативный input range; значение видно и меняется клавиатурой.
Нативный picker или доступная библиотека, локаль и часовой пояс.
Кнопка выбора обязательна; не обещать загрузку без сервера.
Последний запрос побеждает; пустой результат объясняется.
Текст рядом с полем и aria-describedby; цвет не единственный сигнал.
Единицы и период рядом с числом; без выдуманных результатов.
Плотный фон, табличные цифры, подписи и доступная сортировка.
События остаются в порядке чтения; новые записи не крадут фокус.
Дублировать смысл текстом и таблицей; неон не кодирует всё.
Подпись вне стеклянного шума; alt передаёт назначение.
Названные кнопки назад/вперёд, без обязательного autoplay.
Контролы видимы, есть субтитры; autoplay не нужен.
Адрес и список рядом с картой; эффекты не блокируют жесты.
Открывать с фокуса и pointer; важный текст доступен без hover.
Smoke отделяет фон, focus остаётся внутри и возвращается к кнопке.
Уведомление подтверждает реальное действие, status без перехвата фокуса.
Прогресс отражает реальное состояние; reduced — статический placeholder.
Назвать проблему и доступное следующее действие.
Период, валюта, условия; только явно демонстрационные числа.
Читаемая матрица вместо набора светящихся карточек.
Цена, количество и итог согласованы; без фиктивной оплаты.
Декоративный слой появляется один раз; текст уже доступен.
Блик — отдельный ограниченный слой, без тяжёлой анимации blur.
Ничего не найдено. Измените запрос или выберите «Все».
Превью схематические: они показывают материал семейства. Кнопка ▶ воспроизводит движение образца, а не функциональность компонента. В рецепте указан связанный live-пример и его границы.
Сохранена исходная нумерация: № 19 повторяет № 5, № 25 пустой. Картинки открываются у источников. Наши образцы — самостоятельная реализация; движение по статичным изображениям не подтверждено.
Циановые и розовые формы, тонкие световые края и тёмные полупрозрачные карточки.
Посмотреть референс ↗Сочная геометрия за матовым кругом. Разница чёткой и размытой формы делает материал видимым.
Посмотреть референс ↗Дымчатая панель на гранёном чёрном фоне; блик по верхней границе и локальный лаймовый акцент.
Посмотреть референс ↗Большое окно приложения пропускает цвет обоев; внутренние зоны получают собственную плотность.
Посмотреть референс ↗Высокая панель и розовые вложенные карточки образуют несколько планов на сине-фиолетовом фоне.
Посмотреть референс ↗Прозрачная широкая форма входа, белая типографика и яркая лента за стеклом.
Посмотреть референс ↗Крупная матовая рамка над красно-голубым фоном. Это изображение макета, не работающий сайт.
Посмотреть референс ↗Холодный голубой фон, белые внутренние карточки и мягкая прозрачная внешняя оболочка.
Посмотреть референс ↗Тонкие наклонённые карточки: содержимое заднего слоя размывается за передним.
Посмотреть референс ↗Серые дымчатые мобильные экраны и тонкая подсветка элементов; мелкий низкоконтрастный текст не переносим.
Посмотреть референс ↗Смещённые насыщенные формы позади прозрачных кругов и капсул показывают границу материала.
Посмотреть референс ↗Светлые панели на лавандовом фоне, круглые белые контролы и оранжевое основное действие.
Посмотреть референс ↗Лаймовые объекты выступают из-за тёмных прозрачных иконок; небольшие острые блики.
Посмотреть референс ↗Оранжевый и пурпурный круги за погодной карточкой. Изучен статичный кадр; анимация неизвестна.
Посмотреть референс ↗Прозрачная панель поверх синих объёмных фигур; двойной световой край. Движение не проверено.
Посмотреть референс ↗Тёмные мобильные экраны с небольшими лаймовыми действиями и локальными бликами.
Посмотреть референс ↗Яркие сферы пересекают границу тонких мобильных панелей: чёткие снаружи, мягкие за стеклом.
Посмотреть референс ↗Графитовая капсула с выпуклым бликом и внутренней тенью; материал читается через край.
Посмотреть референс ↗Объёмные кнопки, поля и переключатели с пастельными бликами; переносим материал, а не текст макета.
Посмотреть референс ↗Цветные образцы и толстое прозрачное тело с радужными бликами; числовые подписи не являются CSS-спецификацией.
Посмотреть референс ↗Прозрачная капсула деформирует видимую сетку. Статичный кадр After Effects, не доказательство web-реализации.
Посмотреть референс ↗Скруглённые вкладки и полупрозрачный индикатор на пурпурном фоне. Движение по превью не подтверждено.
Посмотреть референс ↗Тёмные поля и карточки, цианово-фиолетовые блики по краю, яркие локальные действия.
Посмотреть референс ↗Источники проверены 21 октября 2026. Галереи дают композицию, документация — технические ориентиры. Движение не выводится из статичных скриншотов.
Просмотрены обе темы в браузере. Берём принцип независимой настройки плёнки и кромки; создаём собственные элементы.
Открыть первоисточник ↗Просмотрен тёмный hero с кольцами и прозрачной панелью. Наши motion-рецепты самостоятельные, тайминг источника не измерялся.
Открыть первоисточник ↗Разделение solid, acrylic и smoke. Адаптируем роли материалов для веба, без зависимости от WinUI.
Открыть первоисточник ↗Размытие, тонировка и глубина. Избегаем многократного вложенного blur и сохраняем плотный fallback.
Открыть первоисточник ↗Оптическая иерархия контролов и навигации. CSS blur не воспроизводит нативный движок преломления Apple.
Открыть первоисточник ↗Просмотрен скриншот: световой горизонт и крупный заголовок. Переносим иерархию, не чужие изображения или анимацию.
Открыть первоисточник ↗Просмотрены desktop/mobile. Один главный выбор и FAQ. Не переносим низкий контраст крупной цены.
Открыть первоисточник ↗Компактная шапка и вертикальное мобильное меню. Поведение клавиатуры реализуем и проверяем отдельно.
Открыть первоисточник ↗Контекстная кнопка рядом с продуктом. Это референс композиции, а не стеклянного материала.
Открыть первоисточник ↗Выразительное завершение и компактные полезные ссылки. Motion по одному изображению не подтверждён.
Открыть первоисточник ↗Живой образец: наведите на кнопку. Диаметр 48 px сохраняется; неоновое свечение плавно пульсирует за 1,8 секунды, пока указатель над активным элементом. Нажатие сжимает кольцо до 32 px (⅔), отпускание возвращает 48 px.
Без текста внутри и без расходящейся волны. Поля ввода сохраняют нативный указатель. На сенсорных устройствах, при reduced motion и forced colors используется обычный курсор.