Boja
Bootstrap je podržan opsežnim sistemom boja koji obrađuje naše stilove i komponente. Ovo omogućava sveobuhvatnije prilagođavanje i proširenje za bilo koji projekat.
Tematske boje
Koristimo podskup svih boja da kreiramo manju paletu boja za generisanje šema boja, takođe dostupne kao Sass varijable i Sass mapa u Bootstrap scss/_variables.scss
datoteci.
Sve ove boje su dostupne kao Sass mapa, $theme-colors
.
$theme-colors: (
"primary": $primary,
"secondary": $secondary,
"success": $success,
"info": $info,
"warning": $warning,
"danger": $danger,
"light": $light,
"dark": $dark
);
Pogledajte naše Sass mape i dokumente o petlji kako biste izmijenili ove boje.
Sve boje
Sve Bootstrap boje su dostupne kao Sass varijable i Sass mapa u scss/_variables.scss
datoteci. Da bismo izbjegli povećane veličine datoteka, ne kreiramo klase boja teksta ili pozadine za svaku od ovih varijabli. Umjesto toga, biramo podskup ovih boja za paletu tema .
Obavezno pratite omjere kontrasta dok prilagođavate boje. Kao što je prikazano ispod, dodali smo tri omjera kontrasta svakoj od glavnih boja – jedan za trenutne boje uzorka, jedan za bijelu i jednu za crnu.
Bilješke o Sass-u
Sass ne može programski generirati varijable, pa smo sami ručno kreirali varijable za svaku nijansu i nijansu. Mi specificiramo srednju vrijednost (npr. $blue-500
) i koristimo prilagođene funkcije boja da nijansiramo (posvijetlimo) ili sjenčimo (potamnimo) naše boje putem Sassove mix()
funkcije boje.
Korištenje mix()
nije isto kao lighten()
i darken()
—prvo miješa navedenu boju s bijelom ili crnom, dok drugo samo prilagođava vrijednost svjetline svake boje. Rezultat je mnogo potpuniji skup boja, kao što je prikazano u ovom CodePen demou .
Naše tint-color()
i shade-color()
funkcije se koriste mix()
uz našu $theme-color-interval
varijablu, koja specificira stepenastu vrijednost procenta za svaku miješanu boju koju proizvodimo. Pogledajte scss/_functions.scss
i scss/_variables.scss
datoteke za puni izvorni kod.
Sass karte u boji
Izvorni Sass fajlovi Bootstrapa uključuju tri mape koje će vam pomoći da brzo i lako pređete preko liste boja i njihovih heksadecimalni vrednosti.
$colors
navodi sve naše dostupne osnovne (500
) boje$theme-colors
navodi sve semantički imenovane boje teme (prikazano ispod)$grays
navodi sve nijanse i nijanse sive
Unutar scss/_variables.scss
, naći ćete Bootstrap-ove varijable boja i Sass mapu. Evo primjera $colors
Sass mape:
$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
);
Dodajte, uklonite ili izmijenite vrijednosti unutar karte da ažurirate način na koji se koriste u mnogim drugim komponentama. Nažalost, u ovom trenutku, ne koristi svaka komponenta ovu Sass mapu. Buduća ažuriranja će nastojati poboljšati ovo. Do tada planirajte da koristite ${color}
varijable i ovu Sass mapu.
Primjer
Evo kako ih možete koristiti u svom Sass-u:
.alpha { color: $purple; }
.beta {
color: $yellow-300;
background-color: $indigo-900;
}
Korisne klase boja i pozadinecolor
su također dostupne za postavljanje i background-color
korištenje 500
vrijednosti boja.
Generiranje komunalnih usluga
Dodato u v5.1.0Bootstrap ne uključuje color
uslužne background-color
programe za svaku varijablu boje, ali ih možete sami generirati pomoću našeg uslužnog API -ja i naših proširenih Sass mapa dodatih u v5.1.0.
- Za početak, provjerite jeste li uvezli naše funkcije, varijable, miksine i uslužne programe.
- Koristite našu
map-merge-multiple()
funkciju za brzo spajanje više Sass mapa u novu kartu. - Spojite ovu novu kombinovanu mapu da proširite bilo koji uslužni program
{color}-{level}
imenom klase.
Evo primjera koji generiše pomoćne programe boje teksta (npr. .text-purple-500
) koristeći gore navedene korake.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@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";
Ovo će generirati nove .text-{color}-{level}
alate za svaku boju i nivo. Isto možete učiniti i za bilo koju drugu pomoć i imovinu.