Шестой выпуск Bootstrap переписал цветовую модель: что это меняет для сайтов, которые живут годами
Оттенки теперь задаются в oklch, двенадцать ступеней каждого цвета рассчитывает сам браузер, а компоненты красятся композицией классов. Разбираем на примерах, где это упростит работу редакции, а где придётся переучиваться.
Когда в 2021 году вышла пятая версия, цвета в ней жили в двух мирах: шестнадцатеричные значения в Sass и их копии в CSS-переменных. Чтобы получить оттенок посветлее, препроцессор смешивал цвет с белым ещё до того, как файл попадал в браузер. Шестая версия отдаёт эту работу самому браузеру: базовый цвет записан в пространстве oklch, а ступени от 025 до 975 рассчитывает функция color-mix().
Почему oklch, а не hex
Слово oklch складывается из трёх координат: l — светлота, c — насыщенность, h — тон в градусах. Приставка «ok» досталась от названия пространства Oklab, которое Бьёрн Оттоссон опубликовал в 2020 году как исправленную версию Lab. Главное свойство: одинаковый шаг светлоты воспринимается глазом одинаково для любого тона. Синий и жёлтый с одной светлотой выглядят одинаково «тяжёлыми», чего в hex и hsl добиться нельзя.
Если раньше дизайнер подбирал двенадцать оттенков руками, теперь он задаёт один — остальные выводятся по правилу, и правило одинаково для всех шестнадцати цветов палитры.
Композиция вместо вариантов
Во второй половине статьи — самое заметное для верстальщика изменение. Кнопка больше не бывает «синей кнопкой» .btn-primary. Она собирается из двух классов: формы и темы.
| пятая версия | шестая версия | что происходит |
|---|---|---|
.btn-primary | .btn-solid .theme-primary | тема ставит переменные --bs-theme-bg, --bs-theme-fg; кнопка их читает |
.btn-outline-danger | .btn-outline .theme-danger | та же тема, другая форма |
| — | .btn-subtle .theme-success | новая форма: мягкий фон из ступени bg-subtle |
Тот же приём работает для значков, оповещений, аккордеонов, таблиц, степперов и аватаров. Девять тем ядра — primary, accent, success, danger, warning, info, inverse, secondary — и свою можно добавить одной записью в карту $theme-colors.
- оттенок меняется в одном месте — у токена
--bs-primary-base; - компоненты не знают, какой цвет им достанется: они читают
--bs-theme-*; - вложенный блок возвращается к значениям по умолчанию классом
theme-reset.
Что придётся переучивать
Пороговые версии браузеров выросли сразу на семьдесят выпусков Chrome. Утилиты поменяли место ответственного за ширину экрана: было d-md-none, стало md:d-none. Шкала отступов выросла с шести ступеней до тринадцати, и цифра в классе больше не значит того же, что в пятой версии. Об этих и других порогах — в докладе, который сопровождает этот сайт.
Справка редакции
Этот материал — часть вымышленного издания; факты о фреймворке взяты из документации Bootstrap 6.0.0-alpha.1 и анонса от 8 октября 2026 года, остальное придумано для демонстрации вёрстки.
Вопросы, которые нам задали после публикации
Нужно ли переписывать старые шаблоны?
Как устроен этот аккордеон?
<details> и <summary>. Общий атрибут name делает группу взаимоисключающей — без единой строки JavaScript. Высота анимируется чистым CSS через interpolate-size.Что с поддержкой браузеров?
Обсуждение 3
Таблица в середине текста — лучшее объяснение композиции, которое я видела.
Интересно, выдержит ли старый парк планшетов в редакции новый порог браузеров.