Theming Bootstrap
Customize Bootstrap 4 with our new built-in Sass variables for global style preferences for easy theming and component changes.
Introduction
dist
Bootstrap 3-n, gaitzea, neurri handi batean, LESS-en, CSS pertsonalizatuan eta gure fitxategietan sartu genuen gaiaren estilo-orri bereiziaren aldagaien gainidatzeek bultzatu zuten . Ahalegin pixka batekin, Bootstrap 3-ren itxura guztiz birdiseinatu liteke oinarrizko fitxategiak ukitu gabe. Bootstrap 4-k ikuspegi ezagun bat eskaintzen du, baina apur bat desberdina.
Orain, gaitzea Sass aldagaiek, Sass mapek eta CSS pertsonalizatuek lortzen dute. Ez dago estilo-orri dedikaturik; horren ordez, gai integratua gai dezakezu gradienteak, itzalak eta gehiago gehitzeko.
Sass
Erabili gure iturburuko Sass fitxategiak aldagaiak, mapak, nahasketak eta abar aprobetxatzeko. Gure eraikuntzan Sass biribilketaren zehaztasuna 6ra igo dugu (lehenespenez 5 da) arakatzailearen biribilketarekin arazoak saihesteko.
Fitxategien egitura
Whenever possible, avoid modifying Bootstrap’s core files. For Sass, that means creating your own stylesheet that imports Bootstrap so you can modify and extend it. Assuming you’re using a package manager like npm, you’ll have a file structure that looks like this:
If you’ve downloaded our source files and aren’t using a package manager, you’ll want to manually setup something similar to that structure, keeping Bootstrap’s source files separate from your own.
Importing
In your custom.scss
, you’ll import Bootstrap’s source Sass files. You have two options: include all of Bootstrap, or pick the parts you need. We encourage the latter, though be aware there are some requirements and dependencies across our components. You also will need to include some JavaScript for our plugins.
Konfigurazio hori ezarrita, Sass aldagai eta maparen bat aldatzen has zaitezke zure custom.scss
. Bootstrap-en zatiak gehitzen ere has zaitezke // Optional
atalaren azpian behar duzun moduan. Gure fitxategiko inportazio-pila osoa bootstrap.scss
abiapuntu gisa erabiltzea gomendatzen dugu.
Aldagai lehenetsiak
Bootstrap 4-ko Sass aldagai guztiek aldagaiaren !default
balio lehenetsia gainidazteko aukera ematen dizute zure Sass-en Bootstrap-en iturburu-kodea aldatu gabe. Kopiatu eta itsatsi aldagaiak behar bezala, aldatu haien balioak eta kendu !default
bandera. Dagoeneko aldagai bat esleitu bada, ez dute berriro esleituko Bootstrap-en balio lehenetsiek.
Bootstrap-en aldagaien zerrenda osoa aurkituko duzu scss/_variables.scss
. Aldagai batzuk ezarrita daude null
, aldagai hauek ez dute propietatea ateratzen zure konfigurazioan gainidazten ez badira.
Sass fitxategi bereko aldagaien baliogabetzeak aldagai lehenetsien aurretik edo ondoren etor daitezke. Hala ere, Sass fitxategiak gainidazten dituzunean, zure baliogabetzeak Bootstrap-en Sass fitxategiak inportatu aurretik etorri behar dira.
Hona hemen Bootstrap npm bidez inportatzean eta konpilatzean eta background-color
aldatzen duen adibide bat color
:<body>
Errepikatu behar den moduan Bootstrap-eko edozein aldagaitan, beheko aukera orokorrak barne.
Mapak eta begiztak
Bootstrap 4-k Sass mapa batzuk biltzen ditu, erlazionatutako CSS-en familiak sortzea errazten duten gako-balio bikoteak. Sass mapak erabiltzen ditugu gure koloreetarako, sareko eten puntuetarako eta abar. Sass aldagaiek bezala, Sass mapa guztiek !default
bandera barne hartzen dute eta gainidatzi eta heda daitezke.
Gure Sass mapa batzuk hutsik daudenekin bateratzen dira lehenespenez. Sass mapa jakin bat erraz zabaltzeko egiten da, baina mapa batetik elementuak kentzea apur bat zailagoa izatearen kostua da.
Aldatu mapa
Gure mapan dagoen kolore bat aldatzeko $theme-colors
, gehitu honako hau zure Sass fitxategi pertsonalizatuan:
Gehitu mapara
Kolore berri bat $theme-colors
gehitzeko, gehitu gako eta balio berria:
Kendu mapatik
Koloreak $theme-colors
edo beste edozein mapatik kentzeko, erabili map-remove
. Kontuan izan gure eskakizun eta aukeren artean sartu behar duzula:
Beharrezko giltzak
Bootstrap-ek Sass mapetan gako zehatz batzuen presentzia hartzen du guk geuk erabili eta hedatzen ditugun heinean. Sartutako mapak pertsonalizatzen dituzun heinean, akatsak aurki ditzakezu Sass maparen gako zehatz bat erabiltzen ari direnean.
Adibidez, primary
, success
, eta danger
teklak $theme-colors
erabiltzen ditugu esteketarako, botoietarako eta inprimaki-egoeretarako. Gako hauen balioak ordezkatzeak ez luke arazorik sortu behar, baina kentzeak Sass-en konpilazio arazoak sor ditzake. Kasu hauetan, balio horiek erabiltzen dituen Sass kodea aldatu beharko duzu.
Funtzioak
Bootstrap-ek Sass-en hainbat funtzio erabiltzen ditu, baina azpimultzo bat baino ez da aplikagarria gai orokorrari. Kolore-mapetatik balioak lortzeko hiru funtzio sartu ditugu:
Hauek Sass mapa batetik kolore bat hautatzea ahalbidetzen dute v3-ko kolore-aldagai bat nola erabiliko zenukeen antzera.
Mapatik kolore- maila jakin bat lortzeko beste funtzio bat ere $theme-colors
badugu. Maila negatiboek kolorea argituko dute, eta maila altuagoek ilundu egingo dute.
Praktikan, funtzioari deituko zenioke eta bi parametro pasatuko zenituzke: kolorearen izena $theme-colors
(adibidez, lehena edo arriskua) eta zenbakizko maila.
Funtzio gehigarriak gehi daitezke etorkizunean edo zure Sass pertsonalizatua Sass mapa gehigarrietarako maila-funtzioak sortzeko, edo baita generikoa ere zehatzagoa izan nahi baduzu.
Kolore kontrastea
Bootstrap-en sartzen dugun funtzio gehigarri bat koloreen kontraste funtzioa da, color-yiq
. YIQ kolore-espazioa erabiltzen du , zehaztutako oinarrizko kolorean oinarritutako kontraste-kolore argia ( #fff
) edo iluna ( ) automatikoki itzultzeko . #111
Funtzio hau bereziki erabilgarria da klase anitz sortzen ari zaren mixin edo loopetarako.
Adibidez, gure $theme-colors
mapatik kolore-laginak sortzeko:
Kontraste bakarreko beharretarako ere erabil daiteke:
Gure kolore-maparen funtzioekin oinarrizko kolore bat ere zehaztu dezakezu:
Ihes SVG
Funtzioa , eta karaktereetatik escape-svg
ihes egiteko erabiltzen dugu SVG atzeko planoko irudietarako. Karaktere horiei ihes egin behar zaie atzeko planoko irudiak IE-n behar bezala errendatzeko.<
>
#
Gehitu eta kendu funtzioak
CSS funtzioa biltzeko add
eta funtzioak erabiltzen ditugu . Funtzio hauen helburu nagusia "unitaterik gabeko" balio bat adierazpen batera pasatzen denean erroreak saihestea da. Horrelako esamoldeek errore bat itzuliko dute arakatzaile guztietan, matematikoki zuzenak izan arren.subtract
calc
0
calc
calc(10px - 0)
Kalkuluak balio duen adibidea:
Kalkulua baliogabea den adibidea:
Sass aukerak
$enable-*
Pertsonalizatu Bootstrap 4 gure aldagai pertsonalizatuen fitxategiarekin eta erraz aldatu CSS hobespen globalak Sass aldagai berriekin . Gainidatzi aldagai baten balioa eta birkonpilatu npm run test
behar den moduan.
scss/_variables.scss
Bootstrap-en fitxategian aldagai hauek aurkitu eta pertsonaliza ditzakezu aukera orokor nagusietarako .
Aldakorra | Balioak | Deskribapena |
---|---|---|
$spacer |
1rem (lehenetsia), edo edozein balio > 0 |
Tarte-balio lehenetsia zehazten du gure espazio-utilitateak programatikoki sortzeko . |
$enable-rounded |
true (lehenetsia) edofalse |
Aurrez definitutako border-radius estiloak gaitzen ditu hainbat osagaitan. |
$enable-shadows |
true edo false (lehenetsia) |
Aurrez definitutako box-shadow estiloak gaitzen ditu hainbat osagaitan. |
$enable-gradients |
true edo false (lehenetsia) |
Aurrez definitutako gradienteak gaitzen background-image ditu hainbat osagaitako estiloen bidez. |
$enable-transitions |
true (lehenetsia) edofalse |
Aurrez definitutako transition s-ak gaitzen ditu hainbat osagaitan. |
$enable-prefers-reduced-motion-media-query |
true (lehenetsia) edofalse |
prefers-reduced-motion Multimedia-kontsulta gaitzen du , erabiltzailearen arakatzaile/sistema eragilearen hobespenetan oinarritutako zenbait animazio/trantsizio kentzen dituena. |
$enable-hover-media-query |
true edo false (lehenetsia) |
Zaharkituta |
$enable-grid-classes |
true (lehenetsia) edofalse |
Sare sistemarako CSS klaseak sortzea ahalbidetzen du (adibidez, .container , .row , .col-md-1 , etab.). |
$enable-caret |
true (lehenetsia) edofalse |
Sasi elementuaren ikurra gaitzen du .dropdown-toggle . |
$enable-pointer-cursor-for-buttons |
true (lehenetsia) edofalse |
Gehitu "eskua" kurtsorea desgaituta ez dauden botoien elementuei. |
$enable-print-styles |
true (lehenetsia) edofalse |
Inprimaketa optimizatzeko estiloak gaitzen ditu. |
$enable-responsive-font-sizes |
true edo false (lehenetsia) |
Letra-tamaina erantzuleak gaitzen ditu . |
$enable-validation-icons |
true (lehenetsia) edofalse |
background-image Testu-sarrerak eta inprimaki pertsonalizatu batzuk gaitzen ditu baliozkotze-egoeretarako. |
$enable-deprecation-messages |
true edo false (lehenetsia) |
Ezarri true hemen kentzeko aurreikusita dauden nahasketa eta funtzio zaharkituak erabiltzen dituzunean abisuak erakusteko v5 . |
Kolore
Bootstrap-en osagai eta utilitate asko Sass mapa batean definitutako kolore batzuen bidez eraikitzen dira. Mapa hau Sass-en itzuli daiteke arau multzo bat azkar sortzeko.
Kolore guztiak
Bootstrap 4-n eskuragarri dauden kolore guztiak Sass aldagai gisa eta Sass mapa scss/_variables.scss
fitxategian daude eskuragarri. Hau hurrengo argitalpen txikietan zabalduko da tonu gehigarriak gehitzeko, dagoeneko sartzen dugun gris- eskalako paleta bezala.
Hona hemen nola erabil ditzakezun zure Sass-en:
Kolore erabilgarritasun klaseak ezartzeko color
eta background-color
.
Etorkizunean, kolore bakoitzaren tonuetarako Sass mapak eta aldagaiak eskaintzea izango dugu helburu, beheko gris-eskalako koloreekin egin dugun bezala.
Gaiaren koloreak
Kolore guztien azpimultzo bat erabiltzen dugu kolore-eskema sortzeko kolore-paleta txikiagoa sortzeko, Sass aldagai gisa eta Sass mapa Bootstrap-en scss/_variables.scss
fitxategian ere eskuragarri.
Grisak
Aldagai grisen multzo zabala eta Sass mapa bat scss/_variables.scss
zure proiektuan zehar gris tonu koherenteak lortzeko. Kontuan izan hauek "gris freskoak" direla, tonu urdin sotil batera jotzen dutenak, gris neutroak baino.
-ren barruan scss/_variables.scss
, Bootstrap-en kolore-aldagaiak eta Sass mapa aurkituko dituzu. $colors
Hona hemen Sass maparen adibide bat :
Gehitu, kendu edo aldatu balioak mapan, beste osagai askotan nola erabiltzen diren eguneratzeko. Zoritxarrez, momentu honetan, osagai guztiek ez dute Sass mapa hau erabiltzen. Etorkizuneko eguneraketak hori hobetzen ahaleginduko dira. Ordura arte, planifikatu ${color}
aldagaiak eta Sass mapa hau erabiltzeko.
Osagaiak
Bootstrap-en osagai eta utilitate asko @each
Sass mapa batean errepikatzen diren begiztekin eraikita daude. Hau bereziki lagungarria da gure osagai baten aldaerak $theme-colors
sortzeko eta eten puntu bakoitzerako aldaera sentikorrak sortzeko. Sass mapa hauek pertsonalizatzen eta birkonpilatzen dituzun heinean, automatikoki ikusiko dituzu zure aldaketak begizta hauetan islatuta.
Aldatzaileak
Bootstrap-en osagai asko oinarri-aldatzaile klaseen ikuspegi batekin eraiki dira. Horrek esan nahi du estiloaren zatirik handiena oinarrizko klase batean dagoela (adibidez, .btn
) eta estilo-aldakuntzak modifikatzaile-klaseetara mugatzen direla (adibidez, .btn-danger
). Mugatzaile-klase hauek $theme-colors
mapatik eraikitzen dira gure modifikatzaile-klaseen zenbakia eta izena pertsonalizatzeko.
Hona hemen bi adibide $theme-colors
maparen gainean nola errepasatzen dugun osagaiaren aldatzaileak sortzeko .alert
eta gure .bg-*
atzeko tresna guztiak.
Erantzunkorra
Sass begizta hauek ez dira kolore-mapetara mugatzen, gainera. Zure osagaien edo utilitateen aldaera sentikorrak ere sor ditzakezu. Hartu adibidez gure erantzunezko testua lerrokatzeko utilitateak, non Sass maparako @each
begizta bat nahasten dugun $grid-breakpoints
multimedia kontsulta batekin.
Zure . aldatu behar baduzu $grid-breakpoints
, zure aldaketak mapa horretan errepikatzen diren begizta guztiei aplikatuko zaizkie.
CSS aldagaiak
Bootstrap 4-k bi dozena inguru CSS propietate pertsonalizatuak (aldagaiak) biltzen ditu bere CSS konpilatuan. Hauek sarbide erraza eskaintzen dute gure gaiaren koloreak, eten-puntuak eta letra-tipo pila nagusietara, hala nola, arakatzailearen Ikuskatzailean, kode-kutxa batean edo prototipo orokorrean lan egiten duzunean.
Eskuragarri dauden aldagaiak
Hona hemen sartzen ditugun aldagaiak (kontuan izan :root
behar dela). Gure _root.scss
fitxategian daude.
Adibideak
CSS aldagaiek Sassen aldagaien antzeko malgutasuna eskaintzen dute, baina arakatzaileari zerbitzatu aurretik konpilazio beharrik gabe. Adibidez, hemen gure orriaren letra-tipoa eta esteka estiloak CSS aldagaiekin berrezartzen ari gara.
Eten-puntuaren aldagaiak
Hasiera batean eten-puntuak gure CSS aldagaietan sartu genituen arren (adibidez, --breakpoint-md
), hauek ez dira onartzen multimedia-kontsultetan , baina hala ere arau-multzoetan erabil daitezke multimedia -kontsultetan. Eten-puntuaren aldagai hauek konpilatutako CSSan geratzen dira atzerako bateragarritasunerako, JavaScript-ek erabil ditzaketelako. Lortu informazio gehiago zehaztapenetan .
Hona hemen onartzen ez denaren adibide bat :
Eta hona hemen onartzen denaren adibide bat :