Theming Bootstrap
Personalizoni Bootstrap 4 me variablat tona të reja të integruara Sass për preferencat globale të stilit për ndryshime të lehta të temave dhe komponentëve.
Në Bootstrap 3, tematika u drejtua kryesisht nga zëvendësimet e variablave në LESS, CSS me porosi dhe një fletë stili të veçantë të temave që ne përfshimë në dist
skedarët tanë. Me disa përpjekje, mund të ridizajnoni plotësisht pamjen e Bootstrap 3 pa prekur skedarët bazë. Bootstrap 4 ofron një qasje të njohur, por paksa të ndryshme.
Tani, tematika realizohet nga variablat Sass, hartat Sass dhe CSS me porosi. Nuk ka më fletë stili të dedikuar për temën; në vend të kësaj, mund të aktivizoni temën e integruar për të shtuar gradientë, hije dhe më shumë.
Përdorni skedarët tanë burimor Sass për të përfituar nga variablat, hartat, përzierjet dhe më shumë.
Kurdoherë që është e mundur, shmangni modifikimin e skedarëve bazë të Bootstrap. Për Sass, kjo do të thotë të krijoni fletën tuaj të stilit që importon Bootstrap në mënyrë që të mund ta modifikoni dhe zgjeroni atë. Duke supozuar se po përdorni një menaxher paketash si npm, do të keni një strukturë skedari që duket si kjo:
Nëse keni shkarkuar skedarët tanë burimor dhe nuk jeni duke përdorur një menaxher paketash, do të dëshironi të konfiguroni manualisht diçka të ngjashme me atë strukturë, duke i mbajtur skedarët burimor të Bootstrap të ndara nga tuajat.
Në tuaj custom.scss
, ju do të importoni skedarët burimor Sass të Bootstrap. Ju keni dy opsione: përfshini të gjithë Bootstrap, ose zgjidhni pjesët që ju nevojiten. Ne inkurajojmë këtë të fundit, megjithëse kini parasysh se ka disa kërkesa dhe varësi në të gjithë komponentët tanë. Ju gjithashtu do të duhet të përfshini disa JavaScript për shtojcat tona.
Me këtë konfigurim në vend, mund të filloni të modifikoni cilindo nga variablat dhe hartat Sass në custom.scss
. Ju gjithashtu mund të filloni të shtoni pjesë të Bootstrap nën // Optional
seksionin sipas nevojës. Ne sugjerojmë përdorimin e pirgut të plotë të importit nga bootstrap.scss
skedari ynë si pikënisje.
Çdo variabël Sass në Bootstrap 4 përfshin !default
flamurin që ju lejon të anashkaloni vlerën e paracaktuar të ndryshores në Sass-in tuaj pa modifikuar kodin burimor të Bootstrap. Kopjoni dhe ngjitni variablat sipas nevojës, modifikoni vlerat e tyre dhe hiqni !default
flamurin. Nëse një variabël tashmë është caktuar, atëherë nuk do të ricaktohet nga vlerat e paracaktuara në Bootstrap.
Ju do të gjeni listën e plotë të variablave të Bootstrap në scss/_variables.scss
.
Anulimet e variablave brenda të njëjtit skedar Sass mund të vijnë para ose pas variablave të paracaktuar. Megjithatë, kur anashkaloni skedarët Sass, zëvendësimet tuaja duhet të vijnë përpara se të importoni skedarët Sass të Bootstrap.
Këtu është një shembull që ndryshon background-color
dhe color
për <body>
kur importoni dhe përpiloni Bootstrap përmes npm:
Përsëriteni sipas nevojës për çdo variabël në Bootstrap, duke përfshirë opsionet globale më poshtë.
Bootstrap 4 përfshin një sërë hartash Sass, çifte të vlerave kryesore që e bëjnë më të lehtë gjenerimin e familjeve të CSS të lidhura. Ne përdorim hartat Sass për ngjyrat tona, pikat e ndarjes së rrjetit dhe më shumë. Ashtu si variablat Sass, të gjitha hartat Sass përfshijnë !default
flamurin dhe mund të anashkalohen dhe zgjerohen.
Disa nga hartat tona Sass janë shkrirë në ato boshe si parazgjedhje. Kjo është bërë për të lejuar zgjerimin e lehtë të një harte të caktuar Sass, por vjen me koston e heqjes së artikujve nga një hartë pak më e vështirë.
Për të modifikuar një ngjyrë ekzistuese në $theme-colors
hartën tonë, shtoni sa vijon në skedarin tuaj të personalizuar Sass:
Për të shtuar një ngjyrë të re në $theme-colors
, shtoni çelësin dhe vlerën e re:
Për të hequr ngjyrat nga $theme-colors
, ose ndonjë hartë tjetër, përdorni map-remove
. Kini parasysh se duhet ta futni atë midis kërkesave dhe opsioneve tona:
Bootstrap supozon praninë e disa çelësave specifikë brenda hartave Sass pasi i kemi përdorur dhe i zgjerojmë vetë. Ndërsa personalizoni hartat e përfshira, mund të hasni gabime kur përdoret një çelës specifik i hartës Sass.
Për shembull, ne përdorim çelësat primary
, success
, dhe danger
nga $theme-colors
për lidhjet, butonat dhe gjendjet e formës. Zëvendësimi i vlerave të këtyre çelësave nuk duhet të paraqesë probleme, por heqja e tyre mund të shkaktojë probleme me përpilimin e Sass. Në këto raste, do t'ju duhet të modifikoni kodin Sass që i përdor ato vlera.
Bootstrap përdor disa funksione Sass, por vetëm një nëngrup është i zbatueshëm për tematikën e përgjithshme. Ne kemi përfshirë tre funksione për marrjen e vlerave nga hartat me ngjyra:
Këto ju lejojnë të zgjidhni një ngjyrë nga një hartë Sass, ashtu si do të përdorni një variabël ngjyrash nga v3.
Ne gjithashtu kemi një funksion tjetër për marrjen e një niveli të caktuar ngjyre nga $theme-colors
harta. Vlerat e nivelit negativ do të ndriçojnë ngjyrën, ndërsa nivelet më të larta do të errësohen.
Në praktikë, ju do të thërrisni funksionin dhe do të kaloni në dy parametra: emrin e ngjyrës nga $theme-colors
(p.sh., primare ose rrezik) dhe një nivel numerik.
Funksione shtesë mund të shtohen në të ardhmen ose Sass-i juaj i personalizuar për të krijuar funksione të nivelit për harta shtesë Sass, ose edhe një të përgjithshme nëse dëshironi të jeni më të folur.
Një funksion shtesë që ne përfshijmë në Bootstrap është funksioni i kontrastit të ngjyrave, color-yiq
. Ai përdor hapësirën e ngjyrave YIQ për të kthyer automatikisht një ngjyrë kontrasti të lehtë ( #fff
) ose të errët ( #111
) bazuar në ngjyrën bazë të specifikuar. Ky funksion është veçanërisht i dobishëm për miksin ose lak ku jeni duke gjeneruar klasa të shumta.
Për shembull, për të gjeneruar mostra me ngjyra nga $theme-colors
harta jonë:
Mund të përdoret gjithashtu për nevoja të njëhershme të kontrastit:
Ju gjithashtu mund të specifikoni një ngjyrë bazë me funksionet tona të hartës së ngjyrave:
Personalizoni Bootstrap 4 me skedarin tonë të integruar të variablave të personalizuar dhe ndërroni lehtësisht preferencat globale të CSS me $enable-*
variablat e rinj Sass. Anuloni vlerën e një ndryshoreje dhe ripërpiloni npm run test
sipas nevojës.
Ju mund t'i gjeni dhe personalizoni këto variabla për opsionet kryesore globale në scss/_variables.scss
skedarin e Bootstrap.
E ndryshueshme | vlerat | Përshkrim |
---|---|---|
$spacer |
1rem (e parazgjedhur), ose çdo vlerë > 0 |
Përcakton vlerën e paracaktuar të ndarësit për të gjeneruar programatikisht shërbimet tona të ndarjes . |
$enable-rounded |
true (e parazgjedhur) osefalse |
Aktivizon border-radius stilet e paracaktuara në komponentë të ndryshëm. |
$enable-shadows |
true ose false (e parazgjedhur) |
Aktivizon box-shadow stilet e paracaktuara në komponentë të ndryshëm. |
$enable-gradients |
true ose false (e parazgjedhur) |
Aktivizon gradientët e paracaktuar nëpërmjet background-image stileve në komponentë të ndryshëm. |
$enable-transitions |
true (e parazgjedhur) osefalse |
Aktivizon transition s të paracaktuara në komponentë të ndryshëm. |
$enable-hover-media-query |
true ose false (e parazgjedhur) |
I zhvlerësuar |
$enable-grid-classes |
true (e parazgjedhur) osefalse |
Mundëson gjenerimin e klasave CSS për sistemin e rrjetit (p.sh., .container , .row , .col-md-1 etj.). |
$enable-caret |
true (e parazgjedhur) osefalse |
Aktivizon përshkrimin e pseudo elementit në .dropdown-toggle . |
$enable-print-styles |
true (e parazgjedhur) osefalse |
Aktivizon stilet për optimizimin e printimit. |
Shumë nga komponentët dhe shërbimet e ndryshme të Bootstrap janë ndërtuar përmes një serie ngjyrash të përcaktuara në një hartë Sass. Kjo hartë mund të vendoset në Sass për të gjeneruar shpejt një seri rregullash.
Të gjitha ngjyrat e disponueshme në Bootstrap 4, janë të disponueshme si variabla Sass dhe një hartë Sass në scss/_variables.scss
skedar. Kjo do të zgjerohet në publikimet e vogla të mëvonshme për të shtuar nuanca shtesë, njësoj si paleta e shkallës gri që kemi përfshirë tashmë.
Ja se si mund t'i përdorni këto në Sass tuaj:
Klasat e përdorimit të ngjyrave janë gjithashtu të disponueshme për vendosjen color
dhe background-color
.
Në të ardhmen, ne do të synojmë të ofrojmë harta dhe variabla Sass për nuancat e çdo ngjyre, siç kemi bërë me ngjyrat e grisë më poshtë.
Ne përdorim një nëngrup të të gjitha ngjyrave për të krijuar një gamë më të vogël ngjyrash për gjenerimin e skemave të ngjyrave, të disponueshme gjithashtu si variabla Sass dhe një hartë Sass në scss/_variables.scss
skedarin e Bootstraps.
Një grup i gjerë variablash gri dhe një hartë Sass scss/_variables.scss
për nuancat e qëndrueshme të grisë në projektin tuaj.
Brenda scss/_variables.scss
, do të gjeni variablat e ngjyrave të Bootstrap dhe hartën Sass. Këtu është një shembull i $colors
hartës Sass:
Shtoni, hiqni ose modifikoni vlerat brenda hartës për të përditësuar mënyrën se si ato përdoren në shumë komponentë të tjerë. Fatkeqësisht në këtë kohë, jo çdo komponent e përdor këtë hartë Sass. Përditësimet e ardhshme do të përpiqen ta përmirësojnë këtë. Deri atëherë, planifikoni të përdorni ${color}
variablat dhe këtë hartë Sass.
Shumë nga komponentët dhe shërbimet e Bootstrap janë ndërtuar me @each
sythe që përsëriten mbi një hartë Sass. Kjo është veçanërisht e dobishme për gjenerimin e varianteve të një komponenti nga ana jonë $theme-colors
dhe krijimin e varianteve të përgjegjshme për çdo pikë ndërprerjeje. Ndërsa personalizoni këto harta Sass dhe ripërpiloni, do të shihni automatikisht ndryshimet tuaja të pasqyruara në këto sythe.
Shumë nga komponentët e Bootstrap janë ndërtuar me një qasje të klasës së modifikuesit bazë. Kjo do të thotë se pjesa më e madhe e stilimit përmbahet në një klasë bazë (p.sh., .btn
) ndërsa variacionet e stilit kufizohen në klasa modifikuese (p.sh., .btn-danger
). Këto klasa modifikuesi janë ndërtuar nga $theme-colors
harta për të bërë personalizimin e numrit dhe emrit të klasave tona të modifikuesve.
Këtu janë dy shembuj se si ne kalojmë në $theme-colors
hartë për të gjeneruar modifikues të .alert
komponentit dhe të gjitha .bg-*
shërbimeve tona të sfondit.
Këto sythe Sass nuk kufizohen as në hartat me ngjyra. Ju gjithashtu mund të gjeneroni variacione të përgjegjshme të komponentëve ose shërbimeve tuaja. Merrni për shembull shërbimet tona reaguese të shtrirjes së tekstit ku ne përziejmë një @each
lak për $grid-breakpoints
hartën Sass me një pyetje mediatike.
Nëse keni nevojë të modifikoni $grid-breakpoints
, ndryshimet tuaja do të zbatohen për të gjitha unazat që përsëriten mbi atë hartë.
Bootstrap 4 përfshin rreth dy duzina veti (variabla) me porosi të CSS në CSS- në e tij të përpiluar. Këto sigurojnë qasje të lehtë në vlerat e përdorura zakonisht si ngjyrat e temave tona, pikat e ndërprerjes dhe grupet kryesore të shkronjave kur punoni në Inspektorin e shfletuesit tuaj, një kuti rërë kodi ose prototipi të përgjithshëm.
Këtu janë variablat që përfshijmë (vini re se :root
kërkohet). Ato gjenden në _root.scss
dosjen tonë.
Variablat CSS ofrojnë fleksibilitet të ngjashëm me variablat e Sass, por pa nevojën për përpilim përpara se të shërbehen në shfletues. Për shembull, këtu po rivendosim stilet e shkronjave dhe lidhjeve të faqes sonë me variabla CSS.
Ndërsa fillimisht ne kemi përfshirë pikat e ndërprerjes në variablat tona CSS (p.sh., --breakpoint-md
), këto nuk mbështeten në pyetjet e medias , por ato mund të përdoren ende brenda grupeve të rregullave në pyetjet e medias. Këto variabla të pikës së ndërprerjes mbeten në CSS të përpiluar për pajtueshmërinë e prapambetur duke qenë se ato mund të përdoren nga JavaScript. Mësoni më shumë në specifikimet.
Këtu është një shembull i asaj që nuk mbështetet:
Dhe këtu është një shembull i asaj që mbështetet: