Передайте смысл с помощью background-color и добавьте украшения с помощью градиентов.
.visually-hidden.
Фоновый цвет
Подобно классам цвета контекстного текста, установите фон элемента для любого контекстного класса. Фоновые утилиты не устанавливают color, поэтому в некоторых случаях Вы захотите использовать .text-*утилиты цвета.
.bg-*, сгенерированные из нашей исходной карты Sass $theme-colors, еще не реагируют на цветовые режимы, однако любая утилита .bg-*-subtle будет. Это будет решено в 6 версии.
<divclass="p-3 mb-2 bg-primary text-white">.bg-primary</div><divclass="p-3 mb-2 bg-primary-subtle text-primary-emphasis">.bg-primary-subtle</div><divclass="p-3 mb-2 bg-secondary text-white">.bg-secondary</div><divclass="p-3 mb-2 bg-secondary-subtle text-secondary-emphasis">.bg-secondary-subtle</div><divclass="p-3 mb-2 bg-success text-white">.bg-success</div><divclass="p-3 mb-2 bg-success-subtle text-success-emphasis">.bg-success-subtle</div><divclass="p-3 mb-2 bg-danger text-white">.bg-danger</div><divclass="p-3 mb-2 bg-danger-subtle text-danger-emphasis">.bg-danger-subtle</div><divclass="p-3 mb-2 bg-warning text-dark">.bg-warning</div><divclass="p-3 mb-2 bg-warning-subtle text-warning-emphasis">.bg-warning-subtle</div><divclass="p-3 mb-2 bg-info text-dark">.bg-info</div><divclass="p-3 mb-2 bg-info-subtle text-info-emphasis">.bg-info-subtle</div><divclass="p-3 mb-2 bg-light text-dark">.bg-light</div><divclass="p-3 mb-2 bg-light-subtle text-light-emphasis">.bg-light-subtle</div><divclass="p-3 mb-2 bg-dark text-white">.bg-dark</div><divclass="p-3 mb-2 bg-dark-subtle text-dark-emphasis">.bg-dark-subtle</div><divclass="p-3 mb-2 bg-body-secondary">.bg-body-secondary</div><divclass="p-3 mb-2 bg-body-tertiary">.bg-body-tertiary</div><divclass="p-3 mb-2 bg-body text-body">.bg-body</div><divclass="p-3 mb-2 bg-black text-white">.bg-black</div><divclass="p-3 mb-2 bg-white text-dark">.bg-white</div><divclass="p-3 mb-2 bg-transparent text-body">.bg-transparent</div>Фоновый градиент
При добавлении класса .bg-gradient, линейный градиент добавляется как фоновое изображение к фону. Этот градиент начинается с полупрозрачного белого цвета, который постепенно исчезает к низу.
Вам нужен градиент в вашем собственном CSS? Просто добавьте background-image: var(--bs-gradient);.
Непрозрачность
Добавлено в v5.1.0Начиная с версии 5.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-версию нашей переменной CSS --bs-success (со значением 25, 135, 84) и добавляем вторую переменную CSS, --bs-bg-opacity, для альфа-прозрачности. (со значением по умолчанию 1 благодаря локальной переменной CSS). Это означает, что каждый раз, когда вы сейчас используете .bg-success, вашим вычисленным значением color будет rgba(25, 135, 84, 1). Локальная переменная CSS внутри каждого класса .bg-* позволяет избежать проблем с наследованием, поэтому вложенные экземпляры утилит не имеют автоматически измененной альфа-прозрачности.
Пример
Чтобы изменить эту непрозрачность, переопределите --bs-bg-opacity с помощью пользовательских стилей или встроенных стилей.
<divclass="bg-success p-2 text-white">Это фон успеха по умолчанию</div><divclass="bg-success p-2"style="--bs-bg-opacity: .5;">Это успешный фон с непрозрачностью 50%</div>Или выберите любую из утилит .bg-opacity:
<divclass="bg-success p-2 text-white">Это фон успеха по умолчанию</div><divclass="bg-success p-2 text-white bg-opacity-75">Это успешный фон с непрозрачностью 75%</div><divclass="bg-success p-2 text-dark bg-opacity-50">Это успешный фон с непрозрачностью 50%</div><divclass="bg-success p-2 text-dark bg-opacity-25">Это успешный фон с непрозрачностью 25%</div><divclass="bg-success p-2 text-dark bg-opacity-10">Это успешный фон с непрозрачностью 10%</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(toright,$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(tobottom,$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(toright,$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,$color25%,transparent25%,transparent50%,$color50%,$color75%,transparent75%,transparent);}Sass API утилиты
Фоновые утилиты объявлены в нашем 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),