Theming Bootstrap
Amboary ny Bootstrap 4 miaraka amin'ireo variana Sass naorina vaovao ho an'ny safidin'ny fomba manerantany ho an'ny fanovana lohahevitra sy singa mora.
Ao amin'ny Bootstrap 3, ny lohahevitra dia notarihin'ny fanovana miovaova ao amin'ny LESS, CSS mahazatra, ary stylesheet lohahevitra misaraka izay nampidirinay tao amin'ny dist
rakitray. Miaraka amin'ny ezaka kely dia afaka mamolavola tanteraka ny endriky ny Bootstrap 3 tsy misy fikasihana ny rakitra fototra. Bootstrap 4 dia manome fomba mahazatra, saingy hafa kely.
Ankehitriny, ny lohahevitra dia vita amin'ny sari-tany Sass, sarintany Sass, ary CSS mahazatra. Tsy misy stylesheet foto-kevitra natokana intsony; kosa, azonao atao ny mamela ny lohahevitra naorina mba hanampiana gradients, aloka, sy ny maro hafa.
Ampiasao ny rakitra Sass loharanontsika mba hanararaotra ireo fari-pahalalana, sarintany, mixins, sy ny maro hafa.
Raha azo atao dia aza manova ny rakitra fototra an'ny Bootstrap. Ho an'i Sass, midika izany fa mamorona ny stylesheet anao manokana izay manafatra Bootstrap mba hahafahanao manova sy manitatra azy. Raha heverinao fa mampiasa mpitantana fonosana toa ny npm ianao dia hanana firafitry ny rakitra toa izao:
Raha naka ny rakitra loharanonay ianao ary tsy mampiasa mpitantana fonosana, dia te-hanamboatra zavatra mitovy amin'io rafitra io ianao, ka mitazona ny rakitra loharanon'i Bootstrap misaraka amin'ny anao.
Ao amin'ny custom.scss
, hampidirinao ny rakitra Sass loharanon'i Bootstrap. Manana safidy roa ianao: ampidiro ny Bootstrap rehetra, na safidio ny ampahany ilainao. Mamporisika ity farany izahay, na dia tadidio aza fa misy fepetra sy fiankinan-doha amin'ny singa rehetra. Mila mampiditra JavaScript ho an'ny plugins ihany koa ianao.
Miaraka amin'io fananganana io dia azonao atao ny manomboka manova ny fari-piadidiana sy sarintany Sass ao amin'ny custom.scss
. Azonao atao koa ny manomboka manampy ampahany amin'ny Bootstrap eo ambanin'ny // Optional
fizarana raha ilaina. Manoro hevitra izahay ny hampiasa ny stack fanafarana feno avy amin'ny bootstrap.scss
rakitray ho toy ny fanombohana anao.
Ny fari-piadidiana Sass rehetra ao amin'ny Bootstrap 4 dia ahitana ny !default
saina mamela anao hanilika ny sandan'ny default ao amin'ny Sass anao manokana nefa tsy manova ny kaody loharanon'ny Bootstrap. Adikao sy apetaho ny variables raha ilaina, ovao ny sandany ary esory ny !default
saina. Raha efa voatendry ny variable iray, dia tsy haverina amin'ny alàlan'ny sanda default ao amin'ny Bootstrap izany.
Ny fanodinkodinana miovaova ao anatin'ny rakitra Sass mitovy dia mety ho tonga alohan'ny na aorian'ny fari-piadidiana. Na izany aza, rehefa manafoana ny rakitra Sass, dia tsy maintsy tonga ny overrideo alohan'ny hanafatrao ny rakitra Sass an'ny Bootstrap.
Ity misy ohatra iray izay manova ny background-color
sy color
ny <body>
rehefa manafatra sy manangona Bootstrap amin'ny npm:
Avereno araka izay ilaina amin'ny variable rehetra ao amin'ny Bootstrap, ao anatin'izany ireo safidy manerantany eto ambany.
Ny Bootstrap 4 dia ahitana sarintany Sass vitsivitsy, mpivady manan-danja izay manamora ny famokarana fianakaviana CSS mifandraika. Mampiasa sari-tany Sass izahay ho an'ny lokonay, ny teboka tapaka, ary ny maro hafa. Tahaka ny fari-pahaizan'i Sass, ny sarintany Sass rehetra dia misy ny !default
saina ary azo ovaina sy itarina.
Ny sasany amin'ireo sari-tany Sass dia natambatra ho tsy misy na inona na inona. Izany dia natao mba hamelana mora ny fanitarana ny sari-tany Sass nomena, fa tonga amin'ny sandan'ny fanalana zavatra amin'ny sari-tany ho sarotra kokoa.
Raha hanova loko efa misy ao amin'ny $theme-colors
sari-tany, ampio ity manaraka ity amin'ny rakitra Sass mahazatra anao:
Hanampy loko vaovao amin'ny $theme-colors
, ampio ny fanalahidy sy sanda vaovao:
Raha hanesorana ny loko amin'ny $theme-colors
, na sarintany hafa, ampiasao map-remove
:
Bootstrap dia mihevitra ny fisian'ny fanalahidy manokana ao anatin'ny sarintany Sass rehefa nampiasa sy nanitatra azy ireo izahay. Rehefa ampanjifainao ireo sari-tany tafiditra dia mety hisy lesoka izay ampiasaina ny fanalahidin'ny sarintany Sass manokana.
Ohatra, mampiasa ny primary
, success
, ary ny danger
lakile avy $theme-colors
amin'ny rohy, bokotra ary endrika. Ny fanoloana ny soatoavin'ireo fanalahidy ireo dia tsy tokony hiteraka olana, fa ny fanesorana azy ireo dia mety hiteraka olana amin'ny fanangonana Sass. Amin'ireo tranga ireo dia mila manova ny kaody Sass izay mampiasa ireo soatoavina ireo ianao.
Bootstrap dia mampiasa fiasa Sass maromaro, saingy ampahany kely ihany no azo ampiharina amin'ny lohahevitra ankapobeny. Nampidirinay ny fiasa telo hahazoana sanda avy amin'ny sarintany miloko:
Ireo dia mamela anao hisafidy loko iray avy amin'ny sarintany Sass mitovy amin'ny fomba fampiasanao ny lokon'ny v3.
Manana fiasa hafa ihany koa isika amin'ny fahazoana loko iray manokana avy amin'ny $theme-colors
sarintany. Ny sanda ambaratonga ratsy dia hanamaivana ny loko, fa ny ambaratonga ambony kosa dia ho maizina.
Amin'ny fampiharana, miantso ny fiasa ianao ary mandalo amin'ny mason-tsivana roa: ny anaran'ny loko avy amin'ny $theme-colors
(ohatra, voalohany na loza) ary ambaratonga isa.
Ny fiasa fanampiny dia azo ampiana amin'ny ho avy na ny Sass mahazatra anao mba hamoronana fiasa ambaratonga ho an'ny sari-tany Sass fanampiny, na sari-tany mahazatra mihitsy aza raha te ho be vava kokoa ianao.
Ny fiasa fanampiny iray ampidirintsika ao amin'ny Bootstrap dia ny fiasa mifanohitra amin'ny loko, color-yiq
. Mampiasa ny habaka loko YIQ izy io mba hamerina ho azy ny loko mifanohitra mazava ( #fff
) na maizina ( #111
) mifototra amin'ny loko fototra voatondro. Ity fiasa ity dia ilaina indrindra ho an'ny mixins na loop izay mamorona kilasy maromaro.
Ohatra, mba hamorona sarintany miloko avy amin'ny $theme-colors
sari-tany:
Azo ampiasaina amin'ny filàna fifanoherana tokana ihany koa izy io:
Azonao atao ihany koa ny mamaritra loko fototra amin'ny fiasan'ny sarintany miloko:
Amboary ny Bootstrap 4 miaraka amin'ny rakitra varimbazaha namboarinay ary ampifamadiho mora foana ny safidin'ny CSS manerantany miaraka amin'ny $enable-*
fari-piadidiana Sass vaovao. Atsipazo ny sandan'ny variable ary avereno amboarina npm run test
araka izay ilaina.
Azonao atao ny mahita sy mampifanaraka ireo fari-piainana ireo ho an'ny safidy manerantany lehibe ao amin'ny _variables.scss
rakitray.
Miovaova | soatoavina | Description |
---|---|---|
$spacer |
1rem (default), na sanda rehetra > 0 |
Manondro ny sandan'ny spacer default mba hamoronana ny fitaovana spacer anay . |
$enable-rounded |
true (default) nafalse |
Mamela fomba efa voafaritra mialoha border-radius amin'ny singa samihafa. |
$enable-shadows |
true na false (default) |
Mamela fomba efa voafaritra mialoha box-shadow amin'ny singa samihafa. |
$enable-gradients |
true na false (default) |
Mamela ny gradient efa voafaritra mialoha amin'ny alàlan'ny background-image fomba amin'ny singa samihafa. |
$enable-transitions |
true (default) nafalse |
Mamela transition s efa voafaritra mialoha amin'ny singa samihafa. |
$enable-hover-media-query |
true na false (default) |
Tsy ampiasaina intsony |
$enable-grid-classes |
true (default) nafalse |
Mamela ny famoronana kilasy CSS ho an'ny rafitra grid (oh, .container , .row , .col-md-1 , sns.). |
$enable-caret |
true (default) nafalse |
Mamela pseudo element caret on .dropdown-toggle . |
$enable-print-styles |
true (default) nafalse |
Mamela fomba hanamafisana ny fanontana. |
Maro amin'ireo singa sy kojakoja isan-karazany an'ny Bootstrap no natsangana tamin'ny alàlan'ny andian-loko voafaritra ao amin'ny sarintany Sass. Ity sari-tany ity dia azo atambatra ao amin'ny Sass mba hamoronana andianà fitsipika.
Ny loko rehetra misy ao amin'ny Bootstrap 4, dia azo alaina amin'ny maha-Sass variables sy sarintany Sass ao amin'ny scss/_variables.scss
rakitray. Hiitatra amin'ny famoahana madinidinika manaraka izany mba hanampiana alokaloka fanampiny, toy ny palette grayscale efa nampidirintsika.
Ity ny fomba ahafahanao mampiasa ireto amin'ny Sass anao:
Misy ihany koa ny kilasy fampiasa amin'ny loko ho an'ny fametrahana color
sy background-color
.
Amin'ny ho avy dia mikendry ny hanome sarintany sy fari-piadidiana Sass izahay ho an'ny aloky ny loko tsirairay tahaka ny nataonay tamin'ireo loko miloko volondavenona etsy ambany.
Mampiasa ampahany amin'ny loko rehetra izahay mba hamoronana palette miloko kely kokoa amin'ny famokarana loko, azo alaina amin'ny maha-varimbazaha Sass sy sarintany Sass ao amin'ny scss/_variables.scss
rakitray.
Andian-tarana volondavenona midadasika sy sarintany Sass scss/_variables.scss
ho an'ny aloky ny volondavenona tsy tapaka manerana ny tetikasanao.
Ao anatin'ny _variables.scss
, dia ho hitanao ny fari-pahaizan'ny lokonay sy ny sarintany Sass. Ity misy ohatra iray amin'ny $colors
sarintany Sass:
Ampio, esory, na ovao ny soatoavina ao anatin'ny sari-tany mba hanavaozana ny fomba ampiasana azy amin'ny singa maro hafa. Indrisy anefa fa tsy ny singa rehetra no mampiasa ity sari-tany Sass ity. Ny fanavaozana ho avy dia hiezaka hanatsara izany. Mandra-pahatongan'izany, mikasa ny hampiasa ireo ${color}
fari-piainana sy ity sarintany Sass ity.
Maro amin'ireo singa sy kojakoja an'ny Bootstrap no namboarina miaraka amin'ny @each
tadivavarana izay miverimberina amin'ny sarintany Sass. Izany dia manampy indrindra amin'ny famoronana variana amin'ny singa iray amin'ny alàlan'ny anay $theme-colors
ary mamorona variana mamaly ho an'ny teboka tsirairay. Rehefa manamboatra ireo sari-tany Sass ireo ianao ary manangona indray, dia ho hitanao fa hita taratra ao anatin'ireo tadivavarana ireo fiovanao.
Maro amin'ireo singa ao amin'ny Bootstrap no naorina miaraka amin'ny fomba fiasa fototra-modifier. Midika izany fa ny ankabeazan'ny fanaingoana dia voarakitra ao amin'ny kilasy fototra (oh, .btn
) fa ny fiovaovan'ny fomba dia voafetra amin'ny kilasy modifier (oh, .btn-danger
). Ireo kilasy modifier ireo dia natsangana avy amin'ny $theme-colors
sari-tany mba hanamarihana ny isa sy ny anaran'ny kilasy modifier.
Ireto misy ohatra roa amin'ny fomba amboarantsika ny $theme-colors
sari-tany mba hamoronana mpanova ny .alert
singa sy ny .bg-*
kojakoja fototra rehetra.
Ireo tadivavarana Sass ireo dia tsy voafetra amin'ny sarintany miloko ihany koa. Azonao atao ihany koa ny mamorona fiovaovana mamaly amin'ny singa na fitaovanao. Raiso, ohatra, ny fitaovana fampifanarahana lahatsoratra mamaly izay mampifangaro ny @each
loop ho an'ny $grid-breakpoints
sarintany Sass miaraka amin'ny fangatahana media.
Raha toa ianao ka mila manova ny $grid-breakpoints
, ny fanovanao dia mihatra amin'ny tadivavarana rehetra miverimberina eo amin'io sari-tany io.
Ny Bootstrap 4 dia ahitana karazana CSS roa am-polony eo ho eo (variables) ao amin'ny CSS natambatra. Ireo dia manome fahafahana miditra mora amin'ny soatoavina fampiasa mahazatra toy ny loko loha-hevitray, ny teboka tapaka, ary ny antonta endri-tsoratra voalohany rehefa miasa ao amin'ny Inspector an'ny navigateur, boaty fasika kaody, na prototyping ankapobeny.
Ireto ny variables ampidirintsika (mariho fa :root
ilaina ny). Hita ao amin'ny _root.scss
rakitray izy ireo.
Ny fari-piainan'ny CSS dia manome flexibility mitovy amin'ny fari-piainan'i Sass, saingy tsy mila fanangonam-bokatra alohan'ny hanolorana azy amin'ny navigateur. Ohatra, averinay eto ny endri-tsoratra sy ny fomba fampifandraisana amin'ny CSS.
Azonao atao ihany koa ny mampiasa ny fari-pahavaratray amin'ny fanontanianao amin'ny haino aman-jery: