Theming Bootstrap
Ṣe akanṣe Bootstrap 4 pẹlu awọn oniyipada Sass tuntun ti a ṣe sinu fun awọn ayanfẹ ara agbaye fun akori irọrun ati awọn iyipada paati.
Ni Bootstrap 3, akori jẹ idari pupọ nipasẹ awọn ifasilẹ oniyipada ni LESS, aṣa CSS, ati aṣa ara akori ọtọtọ ti a fi sinu awọn dist
faili wa. Pẹlu igbiyanju diẹ, ọkan le ṣe atunṣe iwo Bootstrap 3 patapata laisi fọwọkan awọn faili pataki. Bootstrap 4 n pese ọna ti o mọ, ṣugbọn ọna ti o yatọ diẹ.
Ni bayi, akori jẹ aṣeyọri nipasẹ awọn oniyipada Sass, awọn maapu Sass, ati CSS aṣa. Nibẹ ni ko si siwaju sii ifiṣootọ akori stylesheet; dipo, o le jeki akori ti a ṣe sinu rẹ lati ṣafikun awọn gradients, awọn ojiji, ati diẹ sii.
Lo awọn faili Sass orisun wa lati lo anfani awọn oniyipada, maapu, awọn apopọ, ati diẹ sii.
Nigbakugba ti o ba ṣeeṣe, yago fun iyipada awọn faili pataki Bootstrap. Fun Sass, iyẹn tumọ si ṣiṣẹda iwe aṣa tirẹ ti o gbe Bootstrap wọle ki o le yipada ki o fa sii. Ti o ba ro pe o nlo oluṣakoso package bi npm, iwọ yoo ni eto faili ti o dabi eyi:
Ti o ba ti ṣe igbasilẹ awọn faili orisun wa ati pe ko lo oluṣakoso package, iwọ yoo fẹ lati ṣeto nkan ti o jọra si eto yẹn, titọju awọn faili orisun Bootstrap lọtọ si tirẹ.
Ninu rẹ custom.scss
, iwọ yoo gbe awọn faili Sass orisun Bootstrap wọle. O ni awọn aṣayan meji: pẹlu gbogbo Bootstrap, tabi mu awọn ẹya ti o nilo. A ṣe iwuri fun igbehin, botilẹjẹpe akiyesi pe awọn ibeere ati awọn igbẹkẹle wa kọja awọn paati wa. Iwọ yoo nilo lati ni diẹ ninu JavaScript fun awọn afikun wa.
Pẹlu iṣeto yẹn ni aye, o le bẹrẹ lati yipada eyikeyi ninu awọn oniyipada Sass ati awọn maapu ninu faili custom.scss
. O tun le bẹrẹ lati ṣafikun awọn ẹya Bootstrap labẹ // Optional
apakan bi o ṣe nilo. A daba ni lilo akopọ agbewọle ni kikun lati bootstrap.scss
faili wa bi aaye ibẹrẹ rẹ.
Gbogbo oniyipada Sass ni Bootstrap 4 pẹlu !default
asia ti o fun ọ laaye lati yiyipada iye aiyipada ti oniyipada ninu Sass tirẹ laisi iyipada koodu orisun Bootstrap. Daakọ ati lẹẹmọ awọn oniyipada bi o ṣe nilo, yi awọn iye wọn pada, ki o yọ !default
asia kuro. Ti o ba ti yan oniyipada kan tẹlẹ, lẹhinna kii yoo tun fi sọtọ nipasẹ awọn iye aiyipada ni Bootstrap.
Iwọ yoo wa atokọ pipe ti awọn oniyipada Bootstrap ni scss/_variables.scss
.
Awọn iyipada iyipada laarin faili Sass kanna le wa ṣaaju tabi lẹhin awọn oniyipada aiyipada. Sibẹsibẹ, nigbati o ba bori kọja awọn faili Sass, awọn ifasilẹ rẹ gbọdọ wa ṣaaju ki o to gbe awọn faili Bootstrap's Sass wọle.
Eyi ni apẹẹrẹ ti o yipada background-color
ati color
fun <body>
nigba gbigbe wọle ati ṣajọ Bootstrap nipasẹ npm:
Tun ṣe pataki fun eyikeyi oniyipada ni Bootstrap, pẹlu awọn aṣayan agbaye ni isalẹ.
Bootstrap 4 pẹlu iwonba awọn maapu Sass, awọn orisii iye bọtini ti o jẹ ki o rọrun lati ṣe ipilẹṣẹ awọn idile ti CSS ti o ni ibatan. A lo awọn maapu Sass fun awọn awọ wa, awọn aaye fifọ grid, ati diẹ sii. Gẹgẹ bii awọn oniyipada Sass, gbogbo awọn maapu Sass pẹlu !default
asia ati pe o le bori ati faagun.
Diẹ ninu awọn maapu Sass wa ti dapọ si awọn ti o ṣofo nipasẹ aiyipada. Eyi ni a ṣe lati gba imugboroja irọrun ti maapu Sass ti a fun, ṣugbọn o wa ni idiyele ti ṣiṣe yiyọ awọn ohun kan kuro lati maapu kan ni iṣoro diẹ sii.
Lati ṣatunkọ awọ to wa tẹlẹ ninu $theme-colors
maapu wa, ṣafikun atẹle naa si faili Sass aṣa rẹ:
Lati ṣafikun awọ tuntun si $theme-colors
, ṣafikun bọtini titun ati iye:
Lati yọ awọn awọ kuro lati $theme-colors
, tabi eyikeyi maapu miiran, lo map-remove
. Mọ pe o gbọdọ fi sii laarin awọn ibeere ati awọn aṣayan wa:
Bootstrap dawọle wiwa diẹ ninu awọn bọtini kan pato laarin awọn maapu Sass bi a ṣe lo ati fa awọn wọnyi funrara wa. Bi o ṣe n ṣatunṣe awọn maapu to wa, o le ba pade awọn aṣiṣe nibiti o ti nlo bọtini maapu Sass kan pato.
Fun apẹẹrẹ, a lo primary
, success
, ati danger
awọn bọtini lati $theme-colors
fun awọn ọna asopọ, awọn bọtini, ati awọn ipinlẹ fọọmu. Rirọpo awọn iye ti awọn bọtini wọnyi ko yẹ ki o ṣafihan awọn ọran, ṣugbọn yiyọ wọn le fa awọn ọran akojọpọ Sass. Ni awọn iṣẹlẹ wọnyi, iwọ yoo nilo lati yipada koodu Sass ti o lo awọn iye wọnyẹn.
Bootstrap nlo awọn iṣẹ Sass pupọ, ṣugbọn ipin kan nikan ni o wulo fun akori gbogbogbo. A ti ṣafikun awọn iṣẹ mẹta fun gbigba awọn iye lati awọn maapu awọ:
Iwọnyi gba ọ laaye lati mu awọ kan lati maapu Sass kan bii bii o ṣe le lo oniyipada awọ lati v3.
A tun ni iṣẹ miiran fun gbigba ipele awọ kan pato lati $theme-colors
maapu naa. Awọn iye ipele odi yoo tan awọ naa, lakoko ti awọn ipele ti o ga julọ yoo ṣokunkun.
Ni iṣe, iwọ yoo pe iṣẹ naa ki o kọja ni awọn aye meji: orukọ awọ lati $theme-colors
(fun apẹẹrẹ, akọkọ tabi eewu) ati ipele nọmba kan.
Awọn iṣẹ afikun le ṣe afikun ni ọjọ iwaju tabi aṣa Sass tirẹ lati ṣẹda awọn iṣẹ ipele fun awọn maapu Sass afikun, tabi paapaa jeneriki ti o ba fẹ lati jẹ ọrọ-ọrọ diẹ sii.
Iṣẹ afikun kan ti a ni ninu Bootstrap jẹ iṣẹ itansan awọ, color-yiq
. O nlo aaye awọ YIQ lati da ina kan pada laifọwọyi ( #fff
) tabi dudu ( #111
) awọ itansan ti o da lori awọ ipilẹ ti a sọ. Iṣẹ yii wulo paapaa fun awọn apopọ tabi awọn losiwajulosehin nibiti o ti n ṣe agbekalẹ awọn kilasi pupọ.
Fun apẹẹrẹ, lati ṣe agbejade awọn swatches awọ lati $theme-colors
maapu wa:
O tun le ṣee lo fun awọn iwulo itansan ọkan-pipa:
O tun le pato awọ ipilẹ kan pẹlu awọn iṣẹ maapu awọ wa:
Ṣe akanṣe Bootstrap 4 pẹlu faili awọn oniyipada aṣa ti a ṣe sinu ati irọrun yi awọn ayanfẹ CSS agbaye pẹlu awọn $enable-*
oniyipada Sass tuntun. Fojusi iye oniyipada ki o tun ṣajọpọ pẹlu npm run test
bi o ṣe nilo.
O le wa ati ṣe akanṣe awọn oniyipada wọnyi fun awọn aṣayan agbaye bọtini ni scss/_variables.scss
faili Bootstrap.
Ayípadà | Awọn iye | Apejuwe |
---|---|---|
$spacer |
1rem (aiyipada), tabi eyikeyi iye> 0 |
Ni pato iye alafo aiyipada lati ṣe ipilẹṣẹ awọn ohun elo spacer wa ni eto . |
$enable-rounded |
true (aiyipada) tabifalse |
Mu awọn aza ti a ti sọ tẹlẹ border-radius ṣiṣẹ lori oriṣiriṣi awọn paati. |
$enable-shadows |
true tabi false (aiyipada) |
Mu awọn aza ti a ti sọ tẹlẹ box-shadow ṣiṣẹ lori oriṣiriṣi awọn paati. |
$enable-gradients |
true tabi false (aiyipada) |
Mu awọn gradients ti a ti sọ tẹlẹ ṣiṣẹ nipasẹ background-image awọn aza lori ọpọlọpọ awọn paati. |
$enable-transitions |
true (aiyipada) tabifalse |
Mu awọn ti a ti yan tẹlẹ transition ṣiṣẹ lori awọn paati oriṣiriṣi. |
$enable-hover-media-query |
true tabi false (aiyipada) |
Idinku |
$enable-grid-classes |
true (aiyipada) tabifalse |
Mu ki iran ti awọn kilasi CSS ṣiṣẹ fun eto akoj (fun apẹẹrẹ,,,,, ati .container bẹbẹ lọ)..row .col-md-1 |
$enable-caret |
true (aiyipada) tabifalse |
Nṣiṣẹ itọju apilẹṣẹ ano lori .dropdown-toggle . |
$enable-print-styles |
true (aiyipada) tabifalse |
Nṣiṣẹ awọn aza fun mimuju iwọn titẹ sita. |
Pupọ ti awọn oriṣiriṣi awọn paati ati awọn ohun elo Bootstrap ni a kọ nipasẹ lẹsẹsẹ awọn awọ ti a ṣalaye ni maapu Sass kan. Maapu yii le wa ni yipo ni Sass lati ṣe agbekalẹ lẹsẹsẹ awọn ilana ofin ni kiakia.
Gbogbo awọn awọ ti o wa ni Bootstrap 4, wa bi awọn oniyipada Sass ati maapu Sass ninu scss/_variables.scss
faili. Eyi yoo faagun ni awọn idasilẹ kekere ti o tẹle lati ṣafikun awọn iboji afikun, pupọ bii paleti grẹy ti a pẹlu tẹlẹ.
Eyi ni bii o ṣe le lo awọn wọnyi ninu Sass rẹ:
Awọn kilasi IwUlO awọ tun wa fun tito color
ati background-color
.
Ni ọjọ iwaju, a yoo ṣe ifọkansi lati pese awọn maapu Sass ati awọn oniyipada fun awọn ojiji ti awọ kọọkan bi a ti ṣe pẹlu awọn awọ grẹy ni isalẹ.
A lo ipin kan ti gbogbo awọn awọ lati ṣẹda paleti awọ ti o kere fun ṣiṣẹda awọn ero awọ, tun wa bi awọn oniyipada Sass ati maapu Sass kan ninu scss/_variables.scss
faili Bootstraps.
Eto ti o gbooro ti awọn oniyipada grẹy ati maapu Sass kan scss/_variables.scss
fun awọn ojiji grẹy dédé kọja iṣẹ akanṣe rẹ.
Ninu scss/_variables.scss
, iwọ yoo rii awọn oniyipada awọ Bootstrap ati maapu Sass. Eyi ni apẹẹrẹ ti $colors
maapu Sass:
Ṣafikun, yọkuro, tabi ṣatunṣe awọn iye laarin maapu lati ṣe imudojuiwọn bi wọn ṣe nlo ni ọpọlọpọ awọn paati miiran. Laanu ni akoko yii, kii ṣe gbogbo paati lo maapu Sass yii. Awọn imudojuiwọn ọjọ iwaju yoo tiraka lati ni ilọsiwaju lori eyi. Titi di igba naa, gbero lori lilo awọn ${color}
oniyipada ati maapu Sass yii.
Pupọ awọn paati Bootstrap ati awọn ohun elo ti a ṣe pẹlu awọn @each
losiwajulosehin ti o ṣe atunṣe lori maapu Sass kan. Eyi ṣe iranlọwọ paapaa fun ṣiṣẹda awọn iyatọ ti paati nipasẹ wa $theme-colors
ati ṣiṣẹda awọn iyatọ idahun fun aaye fifọ kọọkan. Bi o ṣe n ṣe awọn maapu Sass wọnyi ti o si tun ṣe akopọ, iwọ yoo rii laifọwọyi awọn ayipada rẹ ti farahan ninu awọn yipo wọnyi.
Ọpọlọpọ awọn paati Bootstrap ni a kọ pẹlu ọna kilasi iyipada-ipilẹ. Eyi tumọ si pupọ julọ ti iselona wa ninu kilasi mimọ (fun apẹẹrẹ, .btn
) lakoko ti awọn iyatọ ara wa ni ihamọ si awọn kilasi iyipada (fun apẹẹrẹ, .btn-danger
). Awọn kilasi modifier wọnyi ni a kọ lati $theme-colors
maapu lati ṣe isọdi nọmba ati orukọ awọn kilasi iyipada wa.
Eyi ni awọn apẹẹrẹ meji ti bii a ṣe yipo lori $theme-colors
maapu lati ṣe ipilẹṣẹ awọn iyipada si .alert
paati ati gbogbo awọn .bg-*
ohun elo abẹlẹ wa.
Awọn yipo Sass wọnyi ko ni opin si awọn maapu awọ, boya. O tun le ṣe ina awọn iyatọ idahun ti awọn paati tabi awọn ohun elo rẹ. Mu fun apẹẹrẹ awọn ohun elo titete ọrọ idahun nibiti a ti dapọ @each
lupu kan fun $grid-breakpoints
maapu Sass pẹlu ibeere media kan pẹlu.
Ti o ba nilo lati ṣe atunṣe rẹ $grid-breakpoints
, awọn ayipada rẹ yoo kan si gbogbo awọn losiwajulosehin ti n ṣe atunṣe lori maapu yẹn.
Bootstrap 4 pẹlu ni ayika meji mejila mejila awọn ohun-ini aṣa CSS (awọn oniyipada) ninu CSS ti o ṣajọ. Iwọnyi n pese iraye si irọrun si awọn iye ti a lo nigbagbogbo bii awọn awọ akori wa, awọn aaye fifọ, ati awọn akopọ fonti akọkọ nigbati o n ṣiṣẹ ni Oluyewo ẹrọ aṣawakiri rẹ, apoti yanrin koodu kan, tabi afọwọṣe gbogbogbo.
Eyi ni awọn oniyipada ti a pẹlu (akiyesi pe o :root
nilo). Wọn wa ninu _root.scss
faili wa.
Awọn oniyipada CSS nfunni ni irọrun ti o jọra si awọn oniyipada Sass, ṣugbọn laisi iwulo fun akopọ ṣaaju ki o to ṣiṣẹ si ẹrọ aṣawakiri naa. Fún àpẹrẹ, níhìn-ín a tún ń ṣàtúntò fọ́ntì ojú-ewé wa àti àwọn ọ̀nà ìsopọ̀ pẹ̀lú àwọn oniyipada CSS.
Lakoko ti a ti kọkọ pẹlu awọn aaye fifọ ni awọn oniyipada CSS wa (fun apẹẹrẹ, --breakpoint-md
), awọn wọnyi ko ni atilẹyin ninu awọn ibeere media , ṣugbọn wọn tun le ṣee lo laarin awọn ofin ni awọn ibeere media. Awọn oniyipada ibi fifọ wọnyi wa ninu CSS ti a ṣe akojọpọ fun ibaramu sẹhin ti a fun wọn le jẹ lilo nipasẹ JavaScript. Kọ ẹkọ diẹ sii ni pato.
Eyi ni apẹẹrẹ ti ohun ti ko ṣe atilẹyin:
Ati pe eyi ni apẹẹrẹ ti ohun ti o ṣe atilẹyin: