Цвет
Цвета
Добавлено в версии 5.3.0В версии 5.3.0 цветовая палитра Bootstrap продолжает расширяться и становится более нюансированной. Мы добавили новые переменные для secondary
и tertiary
цвета текста и фона, а также {color}-bg-subtle
, {color}-border-subtle
и {color}-text-emphasis
для нашего цвета темы. Эти новые цвета доступны через переменные Sass и CSS (но не наши карты цветов или служебные классы) с явной целью упростить настройку нескольких цветовых режимов, таких как светлый и темный. Эти новые переменные глобально установлены в :root
и адаптированы для нашего нового темного цветового режима, в то время как исходные цвета темы остаются неизменными.
Цвета, оканчивающиеся на -rgb
, предоставляют значения red, green, blue
для использования в цветовых режимах rgb()
и rgba()
. Например, rgba(var(--bs-secondary-bg-rgb), .5)
.
Описание | Образец | Переменные |
---|---|---|
Body — Передний план (цвет) и фон по умолчанию, включая компоненты. |
|
--bs-body-color --bs-body-color-rgb
|
|
--bs-body-bg --bs-body-bg-rgb
|
|
Secondary — Используйте опцию color для более светлого текста. Используйте опцию bg для разделителей и для обозначения отключенных состояний компонентов.
|
|
--bs-secondary-color --bs-secondary-color-rgb
|
|
--bs-secondary-bg --bs-secondary-bg-rgb
|
|
Tertiary — Используйте опцию color , чтобы сделать текст еще светлее. Используйте опцию bg для оформления фона для состояний наведения, акцентов и велсов.
|
|
--bs-tertiary-color --bs-tertiary-color-rgb
|
|
--bs-tertiary-bg --bs-tertiary-bg-rgb
|
|
Emphasis — Для более контрастного текста. Не применимо для фонов. |
|
--bs-emphasis-color --bs-emphasis-color-rgb
|
Border — Для границ компонентов, разделителей и правил. Используйте --bs-border-color-translucent для смешивания с фоном со значением rgba() .
|
|
--bs-border-color --bs-border-color-rgb
|
Primary — Цвет основной темы, используемый для гиперссылок, стилей фокуса, а также активных состояний компонентов и форм. |
|
--bs-primary --bs-primary-rgb
|
|
--bs-primary-bg-subtle
|
|
|
--bs-primary-border-subtle
|
|
Text
|
--bs-primary-text-emphasis
|
|
Success — Цвет темы используется для позитивных или успешных действий и информации. |
|
--bs-success --bs-success-rgb
|
|
--bs-success-bg-subtle
|
|
|
--bs-success-border-subtle
|
|
Text
|
--bs-success-text-emphasis
|
|
Danger — Цвет темы, используемый для ошибок и опасных действий. |
|
--bs-danger --bs-danger-rgb
|
|
--bs-danger-bg-subtle
|
|
|
--bs-danger-border-subtle
|
|
Text
|
--bs-danger-text-emphasis
|
|
Warning — Цвет темы, используемый для неразрушающих предупреждающих сообщений. |
|
--bs-warning --bs-warning-rgb
|
|
--bs-warning-bg-subtle
|
|
|
--bs-warning-border-subtle
|
|
Text
|
--bs-warning-text-emphasis
|
|
Info — Цвет темы используется для нейтрального и информативного контента. |
|
--bs-info --bs-info-rgb
|
|
--bs-info-bg-subtle
|
|
|
--bs-info-border-subtle
|
|
Text
|
--bs-info-text-emphasis
|
|
Light — Дополнительный вариант темы для менее контрастных цветов. |
|
--bs-light --bs-light-rgb
|
|
--bs-light-bg-subtle
|
|
|
--bs-light-border-subtle
|
|
Text
|
--bs-light-text-emphasis
|
|
Dark — Дополнительный вариант темы для более контрастных цветов. |
|
--bs-dark --bs-dark-rgb
|
|
--bs-dark-bg-subtle
|
|
|
--bs-dark-border-subtle
|
|
Text
|
--bs-dark-text-emphasis
|
Использование новых цветов
Эти новые цвета доступны через переменные CSS и служебные классы, такие как --bs-primary-bg-subtle
и .bg-primary-subtle
, что позволяет вам создавать собственные правила CSS с помощью переменных или быстро применять их. стили через классы. Утилиты построены с переменными CSS, связанными с цветом, и, поскольку мы настраиваем эти переменные CSS для темного режима, они также адаптируются к цветовому режиму по умолчанию.
<div class="p-3 text-primary-emphasis bg-primary-subtle border border-primary-subtle rounded-3">
Пример элемента с утилитами
</div>
Цвета темы
Мы используем подмножество всех цветов, чтобы создать меньшую цветовую палитру для создания цветовых схем, также доступных в виде переменных Sass и карты Sass в файле scss/_variables.scss
.
Все эти цвета доступны в виде карты Sass, $theme-colors
.
$theme-colors: (
"primary": $primary,
"secondary": $secondary,
"success": $success,
"info": $info,
"warning": $warning,
"danger": $danger,
"light": $light,
"dark": $dark
);
Ознакомьтесь с нашей документацией по картам и циклам Sass, чтобы узнать, как изменить эти цвета.
Все цвета
Все цвета Bootstrap доступны как переменные Sass и карта Sass в файле scss/_variables.scss
. Чтобы избежать увеличения размеров файлов, мы не создаем классы цвета текста или фона для каждой из этих переменных. Вместо этого мы выбираем подмножество этих цветов для палитры темы.
Обязательно следите за коэффициентом контрастности при настройке цветов. Как показано ниже, мы добавили три коэффициента контрастности к каждому из основных цветов: один для текущих цветов образца, один для белого и один для черного.
Примечания к Sass
Sass не может программно генерировать переменные, поэтому мы вручную создали переменные для каждого оттенка и оттенка сами. Мы указываем значение средней точки (например, $blue-500
) и используем пользовательские цветовые функции для придания оттенка (осветления) или затенения (затемнения) наших цветов с помощью цветовой функции Sass mix()
.
Использование mix()
- это не то же самое, что lighten()
и darken()
- первый смешивает указанный цвет с белым или черным, а последний только регулирует значение яркости каждого цвета. В результате получается гораздо более полный набор цветов, как показано в этой демонстрации CodePen.
Наши функции tint-color()
и shade-color()
используют mix()
вместе с нашей переменной $theme-color-interval
, которая определяет ступенчатое процентное значение для каждого смешанного цвета, который мы производим. См. полный исходный код в файлах scss/_functions.scss
и scss/_variables.scss
.
Карты sass цвета
Исходные файлы Sass Bootstrap включают три карты, которые помогут Вам быстро и легко просмотреть список цветов и их шестнадцатеричные значения.
$colors
список всех наших доступных базовых цветов (500
)$theme-colors
список всех цветов темы с семантическими именами (показано ниже)$grays
список всех оттенков и теней серого
В scss/_variables.scss
Вы найдете цветовые переменные Bootstrap и карту Sass. Вот пример Sass-карты $colors
:
$colors: (
"blue": $blue,
"indigo": $indigo,
"purple": $purple,
"pink": $pink,
"red": $red,
"orange": $orange,
"yellow": $yellow,
"green": $green,
"teal": $teal,
"cyan": $cyan,
"black": $black,
"white": $white,
"gray": $gray-600,
"gray-dark": $gray-800
);
Добавляйте, удаляйте или изменяйте значения на карте, чтобы обновить, как они используются во многих других компонентах. К сожалению, в настоящее время не каждый компонент использует эту карту Sass. В будущих обновлениях мы постараемся улучшить это. А пока планируйте использовать переменные ${color}
и эту карту Sass.
Пример
Вот как Вы можете использовать их в своем Sass:
.alpha { color: $purple; }
.beta {
color: $yellow-300;
background-color: $indigo-900;
}
Утилиты Цвета и фона также доступны для установки color
и background-color
с использованием значений цвета 500
.
Генерация утилит
Добавлено в версии 5.1.0Bootstrap не включает утилиты color
и background-color
для каждой цветовой переменной, но вы можете создать их самостоятельно с помощью нашего служебного API и нашего расширенного Карты Sass добавлены в v5.1.0.
- Для начала убедитесь, что вы импортировали наши функции, переменные, миксины и утилиты.
- Используйте нашу функцию
map-merge-multiple()
, чтобы быстро объединить несколько карт Sass в новую карту. - Объедините эту новую комбинированную карту, чтобы дополнить любую утилиту именем класса
{color}-{level}
.
Вот пример, который генерирует утилиты цвета текста (например, .text-purple-500
) используя вышеуказанные шаги.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/variables-dark";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$all-colors: map-merge-multiple($blues, $indigos, $purples, $pinks, $reds, $oranges, $yellows, $greens, $teals, $cyans);
$utilities: map-merge(
$utilities,
(
"color": map-merge(
map-get($utilities, "color"),
(
values: map-merge(
map-get(map-get($utilities, "color"), "values"),
(
$all-colors
),
),
),
),
)
);
@import "bootstrap/scss/utilities/api";
Это создаст новые утилиты .text-{color}-{level}
для каждого цвета и уровня. То же самое можно сделать и с любыми другими коммунальными предприятиями и объектами недвижимости.