Фоновое изображение
.visually-hidden. Цвет фона
Аналогично классам цветов контекстного текста, установите фон элемента с помощью любого контекстного класса. Утилиты фона не устанавливают color, поэтому в некоторых случаях вам потребуется использовать .text-* утилиты цветов.
.bg-*, сгенерированные из нашей исходной $theme-colors карты Sass, пока не реагируют на режимы цвета, однако любая .bg-*-subtle утилита будет. Это будет исправлено в версии 6.<div class="p-3 mb-2 bg-primary text-white">.bg-primary</div> <div class="p-3 mb-2 bg-primary-subtle text-emphasis-primary">.bg-primary-subtle</div> <div class="p-3 mb-2 bg-secondary text-white">.bg-secondary</div> <div class="p-3 mb-2 bg-secondary-subtle text-emphasis-secondary">.bg-secondary-subtle</div> <div class="p-3 mb-2 bg-success text-white">.bg-success</div> <div class="p-3 mb-2 bg-success-subtle text-emphasis-success">.bg-success-subtle</div> <div class="p-3 mb-2 bg-danger text-white">.bg-danger</div> <div class="p-3 mb-2 bg-danger-subtle text-emphasis-danger">.bg-danger-subtle</div> <div class="p-3 mb-2 bg-warning text-dark">.bg-warning</div> <div class="p-3 mb-2 bg-warning-subtle text-emphasis-warning">.bg-warning-subtle</div> <div class="p-3 mb-2 bg-info text-dark">.bg-info</div> <div class="p-3 mb-2 bg-info-subtle text-emphasis-info">.bg-info-subtle</div> <div class="p-3 mb-2 bg-light text-dark">.bg-light</div> <div class="p-3 mb-2 bg-light-subtle text-emphasis-light">.bg-light-subtle</div> <div class="p-3 mb-2 bg-dark text-white">.bg-dark</div> <div class="p-3 mb-2 bg-dark-subtle text-emphasis-dark">.bg-dark-subtle</div> <p class="p-3 mb-2 bg-body-secondary">.bg-body-secondary</p> <p class="p-3 mb-2 bg-body-tertiary">.bg-body-tertiary</p> <div class="p-3 mb-2 bg-body text-body">.bg-body</div> <div class="p-3 mb-2 bg-black text-white">.bg-black</div> <div class="p-3 mb-2 bg-white text-dark">.bg-white</div> <div class="p-3 mb-2 bg-transparent text-body">.bg-transparent</div>
Градиент фона
Добавление класса .bg-gradient добавляет линейный градиент в качестве изображения фона. Этот градиент начинается с полупрозрачного белого, который плавно переходит к нижней части.
Нужен градиент в вашем пользовательском CSS? Просто добавьте background-image: var(--bs-gradient);.
Непрозрачность
Добавлен в v5.1.0Начиная с v5.1.0, утилиты background-color генерируются с помощью Sass, используя переменные CSS. Это позволяет изменять цвета в реальном времени без компиляции и динамически изменять альфа-прозрачность.
Как это работает
Рассмотрим нашу стандартную .bg-success утилиту.
.bg-success {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}
Мы используем RGB-версию нашей --bs-success (со значением 25, 135, 84) CSS-переменной и прикрепляем вторую CSS-переменную --bs-bg-opacity, для альфа-прозрачности (со значением по умолчанию 1 благодаря локальной CSS-переменной). Это означает, что всякий раз, когда вы используете .bg-success, вычисляемое значение color равно rgba(25, 135, 84, 1). Локальная CSS-переменная внутри каждого класса .bg-* предотвращает проблемы с наследованием, поэтому вложенные экземпляры утилит не получают автоматически измененную альфа-прозрачность.
Пример
Чтобы изменить эту непрозрачность, переопределите --bs-bg-opacity с помощью пользовательских стилей или встроенных стилей.
<div class="bg-success p-2 text-white">This is default success background</div> <div class="bg-success p-2" style="--bs-bg-opacity: .5;">This is 50% opacity success background</div>
Или выберите любую из .bg-opacity утилит:
<div class="bg-success p-2 text-white">This is default success background</div> <div class="bg-success p-2 text-white bg-opacity-75">This is 75% opacity success background</div> <div class="bg-success p-2 text-dark bg-opacity-50">This is 50% opacity success background</div> <div class="bg-success p-2 text-dark bg-opacity-25">This is 25% opacity success background</div> <div class="bg-success p-2 text-dark bg-opacity-10">This is 10% opacity success background</div>
CSS
В дополнение к следующему функционалу Sass, ознакомьтесь с нашими встроенными CSS-пользовательскими свойствами (также известными как CSS-переменные) для цветов и многое другое.
Переменные Sass
Большинство background-color утилит генерируются на основе цветов нашей темы, переназначенных из наших общих переменных цветовой палитры.
$blue: #0d6efd; $indigo: #6610f2; $purple: #6f42c1; $pink: #d63384; $red: #dc3545; $orange: #fd7e14; $yellow: #ffc107; $green: #198754; $teal: #20c997; $cyan: #0dcaf0;
$primary: $blue; $secondary: $gray-600; $success: $green; $info: $cyan; $warning: $yellow; $danger: $red; $light: $gray-100; $dark: $gray-900;
$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0));
Цвета в оттенках серого также доступны, но используется только подмножество для генерации любых утилит.
$white: #fff; $gray-100: #f8f9fa; $gray-200: #e9ecef; $gray-300: #dee2e6; $gray-400: #ced4da; $gray-500: #adb5bd; $gray-600: #6c757d; $gray-700: #495057; $gray-800: #343a40; $gray-900: #212529; $black: #000;
Переменные для установки background-color в .bg-*-subtle утилитах в светлом и тёмном режимах:
$primary-bg-subtle: tint-color($primary, 80%); $secondary-bg-subtle: tint-color($secondary, 80%); $success-bg-subtle: tint-color($success, 80%); $info-bg-subtle: tint-color($info, 80%); $warning-bg-subtle: tint-color($warning, 80%); $danger-bg-subtle: tint-color($danger, 80%); $light-bg-subtle: mix($gray-100, $white); $dark-bg-subtle: $gray-400;
$primary-bg-subtle-dark: shade-color($primary, 80%); $secondary-bg-subtle-dark: shade-color($secondary, 80%); $success-bg-subtle-dark: shade-color($success, 80%); $info-bg-subtle-dark: shade-color($info, 80%); $warning-bg-subtle-dark: shade-color($warning, 80%); $danger-bg-subtle-dark: shade-color($danger, 80%); $light-bg-subtle-dark: $gray-800; $dark-bg-subtle-dark: mix($gray-800, $black);
Карты Sass
Цвета темы затем помещаются в карту Sass, чтобы мы могли перебирать их для генерации наших утилит, модификаторов компонентов и т. д.
$theme-colors: ( "primary": $primary, "secondary": $secondary, "success": $success, "info": $info, "warning": $warning, "danger": $danger, "light": $light, "dark": $dark );
Цвета в оттенках серого также доступны в виде карты Sass. Эта карта не используется для генерации каких-либо утилит.
$grays: ( "100": $gray-100, "200": $gray-200, "300": $gray-300, "400": $gray-400, "500": $gray-500, "600": $gray-600, "700": $gray-700, "800": $gray-800, "900": $gray-900 );
Цвета RGB генерируются из отдельной карты Sass:
$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value");
Непрозрачность цвета фона строится на этом, с собственной картой, которая используется API утилит:
$utilities-bg: map-merge(
$utilities-colors,
(
"black": to-rgb($black),
"white": to-rgb($white),
"body": to-rgb($body-bg)
)
);
$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg");
$utilities-bg-subtle: (
"primary-subtle": var(--#{$prefix}primary-bg-subtle),
"secondary-subtle": var(--#{$prefix}secondary-bg-subtle),
"success-subtle": var(--#{$prefix}success-bg-subtle),
"info-subtle": var(--#{$prefix}info-bg-subtle),
"warning-subtle": var(--#{$prefix}warning-bg-subtle),
"danger-subtle": var(--#{$prefix}danger-bg-subtle),
"light-subtle": var(--#{$prefix}light-bg-subtle),
"dark-subtle": var(--#{$prefix}dark-bg-subtle)
);
Цвета фона для различных режимов цвета также доступны в виде карты Sass:
$theme-colors-bg-subtle: ( "primary": $primary-bg-subtle, "secondary": $secondary-bg-subtle, "success": $success-bg-subtle, "info": $info-bg-subtle, "warning": $warning-bg-subtle, "danger": $danger-bg-subtle, "light": $light-bg-subtle, "dark": $dark-bg-subtle, );
$theme-colors-bg-subtle-dark: ( "primary": $primary-bg-subtle-dark, "secondary": $secondary-bg-subtle-dark, "success": $success-bg-subtle-dark, "info": $info-bg-subtle-dark, "warning": $warning-bg-subtle-dark, "danger": $danger-bg-subtle-dark, "light": $light-bg-subtle-dark, "dark": $dark-bg-subtle-dark, );
Смеси Sass
Для генерации наших утилит фона не используются смеси, но у нас есть дополнительные смеси для других ситуаций, когда вы хотите создать свои градиенты.
@mixin gradient-bg($color: null) {
background-color: $color;
@if $enable-gradients {
background-image: var(--#{$prefix}gradient);
}
}
// Horizontal gradient, from left to right
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
}
// Vertical gradient, from top to bottom
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
}
@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {
background-image: linear-gradient($deg, $start-color, $end-color);
}
@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
}
@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
}
@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {
background-image: radial-gradient(circle, $inner-color, $outer-color);
}
@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
}
API Sass-утилит
Утилиты фона объявлены в нашем API утилит в scss/_utilities.scss. Узнайте, как использовать API утилит.
"background-color": (
property: background-color,
class: bg,
local-vars: (
"bg-opacity": 1
),
values: map-merge(
$utilities-bg-colors,
(
"transparent": transparent,
"body-secondary": rgba(var(--#{$prefix}secondary-bg-rgb), var(--#{$prefix}bg-opacity)),
"body-tertiary": rgba(var(--#{$prefix}tertiary-bg-rgb), var(--#{$prefix}bg-opacity)),
)
)
),
"bg-opacity": (
css-var: true,
class: bg-opacity,
values: (
10: .1,
25: .25,
50: .5,
75: .75,
100: 1
)
),
"subtle-background-color": (
property: background-color,
class: bg,
values: $utilities-bg-subtle
),
© 2011–2022 Twitter, Inc.
© 2011–2022 The Bootstrap Authors
Code licensed under the MIT License.
Documentation licensed under the Creative Commons Attribution License v3.0.
https://getbootstrap.com/docs/5.3/utilities/background/