Tematiziran Bootstrap
Prilagodite Bootstrap 4 z našimi novimi vgrajenimi spremenljivkami Sass za globalne nastavitve sloga za enostavno spreminjanje tem in komponent.
V Bootstrap 3 so tematizacijo v veliki meri poganjale preglasitve spremenljivk v LESS, CSS po meri in ločena tabela slogov teme, ki smo jo vključili v naše dist
datoteke. Z nekaj truda bi lahko popolnoma preoblikovali videz Bootstrapa 3, ne da bi se dotaknili osnovnih datotek. Bootstrap 4 ponuja znan, a nekoliko drugačen pristop.
Zdaj je tematizacija dosežena s spremenljivkami Sass, zemljevidi Sass in CSS po meri. Ni več namenske tabele slogov tem; namesto tega lahko omogočite vgrajeno temo za dodajanje prelivov, senc in drugega.
Uporabite naše izvorne datoteke Sass, da izkoristite spremenljivke, zemljevide, mešanice in drugo.
Kadarkoli je mogoče, se izogibajte spreminjanju jedrnih datotek Bootstrapa. Za Sass to pomeni ustvarjanje lastne tabele slogov, ki uvozi Bootstrap, da jo lahko spreminjate in razširite. Ob predpostavki, da uporabljate upravitelja paketov, kot je npm, boste imeli strukturo datoteke, ki je videti takole:
Če ste prenesli naše izvorne datoteke in ne uporabljate upravitelja paketov, boste želeli ročno nastaviti nekaj podobnega tej strukturi, tako da bodo izvorne datoteke Bootstrapa ločene od vaših.
V svoj custom.scss
, boste uvozili izvorne datoteke Sass Bootstrapa. Imate dve možnosti: vključite ves Bootstrap ali izberite dele, ki jih potrebujete. Spodbujamo slednje, čeprav se zavedajte, da obstajajo nekatere zahteve in odvisnosti med našimi komponentami. Za naše vtičnike boste morali vključiti tudi nekaj JavaScripta.
S to nastavitvijo lahko začnete spreminjati katero koli od spremenljivk in zemljevidov Sass v svojem custom.scss
. Po potrebi lahko začnete tudi dodajati dele Bootstrapa pod // Optional
razdelek. Predlagamo, da bootstrap.scss
kot izhodišče uporabite celoten uvozni sklad iz naše datoteke.
Vsaka spremenljivka Sass v Bootstrapu 4 vključuje !default
zastavico, ki vam omogoča, da preglasite privzeto vrednost spremenljivke v svojem Sassu brez spreminjanja izvorne kode Bootstrapa. Po potrebi kopirajte in prilepite spremenljivke, spremenite njihove vrednosti in odstranite !default
zastavico. Če je bila spremenljivka že dodeljena, potem ne bo ponovno dodeljena s privzetimi vrednostmi v Bootstrapu.
Preglasitve spremenljivk znotraj iste datoteke Sass so lahko pred ali za privzetimi spremenljivkami. Vendar pa morajo pri preglasitvi datotek Sass vaše preglasitve priti pred uvozom datotek Sass Bootstrapa.
Tukaj je primer, ki spremeni background-color
in color
za <body>
pri uvažanju in prevajanju Bootstrapa prek npm:
Po potrebi ponovite za katero koli spremenljivko v programu Bootstrap, vključno s spodnjimi globalnimi možnostmi.
Bootstrap 4 vključuje peščico zemljevidov Sass, parov ključnih vrednosti, ki olajšajo ustvarjanje družin povezanih CSS. Zemljevide Sass uporabljamo za naše barve, prelomne točke mreže in drugo. Tako kot spremenljivke Sass tudi vse karte Sass vključujejo !default
zastavico in jih je mogoče preglasiti in razširiti.
Nekateri naši zemljevidi Sass so privzeto združeni v prazne. To je storjeno, da se omogoči enostavno širjenje danega zemljevida Sass, vendar gre za ceno, da je odstranjevanje elementov z zemljevida nekoliko težje.
Če želite spremeniti obstoječo barvo na našem $theme-colors
zemljevidu, svoji datoteki Sass po meri dodajte naslednje:
Če želite dodati novo barvo v $theme-colors
, dodajte nov ključ in vrednost:
Če želite odstraniti barve iz $theme-colors
ali katerega koli drugega zemljevida, uporabite map-remove
:
Bootstrap predpostavlja prisotnost nekaterih specifičnih ključev v zemljevidih Sass, kot smo jih uporabljali, in jih sami razširimo. Ko prilagajate vključene zemljevide, lahko naletite na napake, kjer se uporablja določen ključ zemljevida Sass.
Na primer, uporabljamo tipke primary
, success
in za povezave, gumbe in stanja obrazca. Zamenjava vrednosti teh ključev ne bi smela povzročati težav, vendar lahko njihova odstranitev povzroči težave pri prevajanju Sass. V teh primerih boste morali spremeniti kodo Sass, ki uporablja te vrednosti.danger
$theme-colors
Bootstrap uporablja več funkcij Sass, vendar je le podskupina uporabna za splošno tematiziranje. Vključili smo tri funkcije za pridobivanje vrednosti iz barvnih zemljevidov:
Ti vam omogočajo, da izberete eno barvo iz zemljevida Sass, podobno kot bi uporabili barvno spremenljivko iz v3.
Imamo tudi drugo funkcijo za pridobivanje določene ravni barve iz $theme-colors
zemljevida. Negativne vrednosti ravni bodo osvetlile barvo, medtem ko bodo višje ravni potemnile.
V praksi bi poklicali funkcijo in ji posredovali dva parametra: ime barve iz $theme-colors
(npr. primarna ali nevarnost) in številčno raven.
V prihodnosti bi lahko dodali dodatne funkcije ali svoj Sass po meri za ustvarjanje funkcij ravni za dodatne zemljevide Sass ali celo generično, če bi želeli biti bolj podrobni.
Ena dodatna funkcija, ki jo vključujemo v Bootstrap, je funkcija barvnega kontrasta, color-yiq
. Uporablja barvni prostor YIQ za samodejno vrnitev svetle ( #fff
) ali temne ( #111
) kontrastne barve glede na podano osnovno barvo. Ta funkcija je še posebej uporabna za miksine ali zanke, kjer ustvarjate več razredov.
Na primer, za ustvarjanje barvnih vzorcev iz našega $theme-colors
zemljevida:
Uporablja se lahko tudi za enkratne kontrastne potrebe:
Določite lahko tudi osnovno barvo z našimi funkcijami barvne karte:
Prilagodite Bootstrap 4 z našo vgrajeno datoteko s spremenljivkami po meri in preprosto preklapljajte med globalnimi nastavitvami CSS z novimi $enable-*
spremenljivkami Sass. Preglasite vrednost spremenljivke in npm run test
po potrebi znova prevedite z.
Te spremenljivke za ključne globalne možnosti lahko najdete in prilagodite v naši _variables.scss
datoteki.
Spremenljivka | Vrednote | Opis |
---|---|---|
$spacer |
1rem (privzeto) ali katera koli vrednost > 0 |
Podaja privzeto vrednost preslednika za programsko ustvarjanje naših pripomočkov za presledke . |
$enable-rounded |
true (privzeto) ozfalse |
Omogoča vnaprej določene border-radius sloge na različnih komponentah. |
$enable-shadows |
true ali false (privzeto) |
Omogoča vnaprej določene box-shadow sloge na različnih komponentah. |
$enable-gradients |
true ali false (privzeto) |
Omogoča vnaprej določene prelive prek background-image slogov na različnih komponentah. |
$enable-transitions |
true (privzeto) ozfalse |
Omogoča vnaprej določene transition s na različnih komponentah. |
$enable-hover-media-query |
true ali false (privzeto) |
Zastarelo |
$enable-grid-classes |
true (privzeto) ozfalse |
Omogoča generiranje razredov CSS za mrežni sistem (npr., .container , .row , .col-md-1 itd.). |
$enable-caret |
true (privzeto) ozfalse |
Omogoči kazalko psevdo elementa na .dropdown-toggle . |
$enable-print-styles |
true (privzeto) ozfalse |
Omogoča sloge za optimizacijo tiskanja. |
Številne Bootstrapove različne komponente in pripomočki so zgrajeni s serijo barv, definiranih v zemljevidu Sass. Ta zemljevid je v Sassu mogoče zankati, da hitro ustvarite niz naborov pravil.
Vse barve, ki so na voljo v Bootstrap 4, so na voljo kot spremenljivke Sass in zemljevid Sass v naši scss/_variables.scss
datoteki. To bo razširjeno v naslednjih manjših izdajah za dodajanje dodatnih odtenkov, podobno kot paleta sivin , ki jo že vključujemo.
Tukaj je opisano, kako jih lahko uporabite v svojem Sassu:
Razredi uporabnosti barv so na voljo tudi za nastavitev color
in background-color
.
V prihodnosti si bomo prizadevali zagotoviti zemljevide Sass in spremenljivke za odtenke vsake barve, kot smo storili s spodnjimi barvami v sivinah.
Uporabljamo podnabor vseh barv za ustvarjanje manjše barvne palete za generiranje barvnih shem, ki je na voljo tudi kot spremenljivke Sass in zemljevid Sass v naši scss/_variables.scss
datoteki.
Obsežen nabor sivih spremenljivk in zemljevid Sass scss/_variables.scss
za dosledne odtenke sive v vašem projektu.
Znotraj _variables.scss
boste našli naše barvne spremenljivke in zemljevid Sass. Tukaj je primer $colors
zemljevida Sass:
Dodajte, odstranite ali spremenite vrednosti znotraj zemljevida, da posodobite, kako se uporabljajo v številnih drugih komponentah. Na žalost trenutno ne uporablja vsaka komponenta tega zemljevida Sass. Prihodnje posodobitve si bodo prizadevale to izboljšati. Do takrat načrtujte uporabo ${color}
spremenljivk in tega zemljevida Sass.
Številne komponente in pripomočki Bootstrapa so zgrajeni z @each
zankami, ki ponavljajo zemljevid Sass. To je še posebej koristno za generiranje različic komponente z našimi $theme-colors
in ustvarjanje odzivnih različic za vsako prelomno točko. Ko prilagodite te zemljevide Sass in jih znova prevedete, boste samodejno videli, da se vaše spremembe odražajo v teh zankah.
Številne komponente Bootstrapa so zgrajene s pristopom razreda osnovnega modifikatorja. To pomeni, da je večina sloga vsebovana v osnovnem razredu (npr. .btn
), medtem ko so različice sloga omejene na razrede modifikatorjev (npr. .btn-danger
). Ti razredi modifikatorjev so zgrajeni iz $theme-colors
zemljevida za prilagoditev števila in imena naših razredov modifikatorjev.
Tukaj sta dva primera, kako preletimo $theme-colors
zemljevid, da ustvarimo modifikatorje za .alert
komponento in vse naše .bg-*
pripomočke v ozadju.
Tudi te Sassove zanke niso omejene na barvne zemljevide. Ustvarite lahko tudi odzivne različice svojih komponent ali pripomočkov. Vzemimo za primer naše odzivne pripomočke za poravnavo besedila, kjer pomešamo @each
zanko za $grid-breakpoints
zemljevid Sass z vključevanjem medijske poizvedbe.
Če bi morali spremeniti svoj $grid-breakpoints
, bodo vaše spremembe veljale za vse zanke, ki ponavljajo ta zemljevid.
Bootstrap 4 vključuje približno dva ducata lastnosti CSS po meri (spremenljivk) v svoj prevedeni CSS. Ti omogočajo enostaven dostop do običajno uporabljenih vrednosti, kot so naše barve teme, prelomne točke in primarni skladi pisav, ko delate v brskalniku Inspector, peskovniku kode ali splošnem izdelavi prototipov.
Tukaj so spremenljivke, ki jih vključimo (upoštevajte, da :root
je zahtevana). Nahajajo se v naši _root.scss
datoteki.
Spremenljivke CSS ponujajo podobno prilagodljivost kot Sassove spremenljivke, vendar brez potrebe po prevajanju, preden se prikažejo brskalniku. Tukaj na primer ponastavljamo pisavo naše strani in sloge povezav s spremenljivkami CSS.
V svojih medijskih poizvedbah lahko uporabite tudi naše spremenljivke prekinitvene točke: