Элементы
Карусель
Карусель на CSS scroll-snap с кнопками, точками и клавишами; без скрипта остаётся горизонтальной прокруткой.
Примеры
Карусель релизов
<section class="carousel" data-ui-carousel role="region" aria-roledescription="карусель" aria-label="Последние релизы">
<div class="carousel__viewport" tabindex="0">
<ul class="carousel__track">
<li class="carousel__slide"><span class="carousel__slide-meta">12/10/2026</span><h3 class="carousel__slide-title">Релиз 2.14</h3><p>Исправлена задержка подключения при переходе между сетями, добавлен счётчик участников в шапке.</p></li>
<li class="carousel__slide"><span class="carousel__slide-meta">28/09/2026</span><h3 class="carousel__slide-title">Релиз 2.13</h3><p>Новый алгоритм подавления шума, журнал подключений в кабинете.</p></li>
<li class="carousel__slide"><span class="carousel__slide-meta">10/09/2026</span><h3 class="carousel__slide-title">Релиз 2.12</h3><p>Запись встреч стала на 30% легче, ускорена загрузка списка участников.</p></li>
</ul>
</div>
<div class="carousel__controls">
<div class="carousel__dots" data-ui-carousel-dots></div>
<div class="carousel__btns">
<button class="carousel__btn" type="button" data-ui-carousel-prev aria-label="Назад">←</button>
<button class="carousel__btn" type="button" data-ui-carousel-next aria-label="Вперёд">→</button>
</div>
</div>
</section>Несколько слайдов в ряду
<section class="carousel carousel--multi" data-ui-carousel role="region" aria-roledescription="карусель" aria-label="Ближайшие встречи">
<div class="carousel__viewport" tabindex="0">
<ul class="carousel__track">
<li class="carousel__slide"><span class="carousel__slide-meta">13/10 15:00</span><h3 class="carousel__slide-title">Ретроспектива</h3><p>148 участников</p></li>
<li class="carousel__slide"><span class="carousel__slide-meta">14/10 11:00</span><h3 class="carousel__slide-title">Дежурства</h3><p>24 участника</p></li>
<li class="carousel__slide"><span class="carousel__slide-meta">15/10 10:00</span><h3 class="carousel__slide-title">Разбор инцидента</h3><p>36 участников</p></li>
<li class="carousel__slide"><span class="carousel__slide-meta">16/10 16:00</span><h3 class="carousel__slide-title">Обзор метрик</h3><p>52 участника</p></li>
</ul>
</div>
<div class="carousel__controls">
<div class="carousel__dots" data-ui-carousel-dots></div>
<div class="carousel__btns">
<button class="carousel__btn" type="button" data-ui-carousel-prev aria-label="Назад">←</button>
<button class="carousel__btn" type="button" data-ui-carousel-next aria-label="Вперёд">→</button>
</div>
</div>
</section>Установка
bukatchuk-ui add carousel
Файлы
| Файл | Назначение |
|---|---|
carousel.css | стили |
carousel.js | скрипт |
example.html | образец разметки, в проект не копируется |
Варианты
| Класс | Назначение |
|---|---|
carousel--multi |
Переменные
| Переменная | Что задаёт |
|---|---|
--carousel-per | слайдов в ряду |
--carousel-gap | промежуток между слайдами |
Клавиши
| Клавиша | Действие |
|---|---|
| ArrowLeft, ArrowRight | предыдущий и следующий слайд (фокус на области прокрутки) |
| Home, End | первый и последний слайд |
| Tab | переход к кнопкам и точкам |