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.
Sava lalana
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.
Sass
Ampiasao ny rakitra Sass loharanontsika mba hanararaotra ireo fari-pahalalana, sarintany, mixins, sy ny maro hafa. Ao amin'ny fanangananay dia nampitomboinay ho 6 ny mari-pandrefesana Sass (amin'ny alàlan'ny default dia 5) mba hisorohana ny olana amin'ny fihodinana navigateur.
Rafitra fichier
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.
fanafarana
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.
Variable defaults
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.
Ho hitanao ny lisitry ny faribolan'ny Bootstrap ao amin'ny scss/_variables.scss
. Ny variables sasany dia apetraka amin'ny null
, tsy mamoaka ny fananana ireo fari-piainana ireo raha tsy voafafa ao amin'ny configuration-nao.
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.
Sarintany sy tadivavarana
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.
Ovao sari-tany
Raha hanova loko efa misy ao amin'ny $theme-colors
sari-tany, ampio ity manaraka ity amin'ny rakitra Sass mahazatra anao:
Ampio amin'ny sari-tany
Hanampy loko vaovao amin'ny $theme-colors
, ampio ny fanalahidy sy sanda vaovao:
Esory amin'ny sari-tany
Ampiasao $theme-colors
ny map-remove
. Tandremo fa tsy maintsy ampidirinao eo anelanelan'ny fepetra takinay sy ny safidy:
Fanalahidy ilaina
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.
asa
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.
Mifanohitra amin'ny loko
Ny fiasa fanampiny 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:
Mandosira SVG
Mampiasa ny escape-svg
fiasa izahay handosirana ny <
, >
sy #
ny tarehin-tsoratra ho an'ny sary lafika SVG. Mila afa-mandositra ireo endri-tsoratra ireo mba hamerenana araka ny tokony ho izy ny sary ambadika ao amin'ny IE.
Ampio sy fanalana asa
Mampiasa ny add
and subtract
functions izahay mba hametahana ny calc
asa CSS. 0
Ny tanjona voalohany amin'ireo asa ireo dia ny hisorohana ny hadisoana rehefa ampidirina amin'ny fiteny iray ny sanda "tsy tokana" calc
. Ny teny toy ny calc(10px - 0)
dia hamerina hadisoana amin'ny navigateur rehetra, na dia marina ara-matematika aza.
Ohatra izay manankery ny kalk:
Ohatra tsy mety ny calc:
Sass safidy
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 manamboatra ireo fari-pahalalana ireo ho an'ny safidy manerantany lehibe ao amin'ny scss/_variables.scss
rakitra Bootstrap.
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-prefers-reduced-motion-media-query |
true (default) nafalse |
Mamela ny prefers-reduced-motion fangatahana media , izay manafoana ny sary mihetsika/fifindrana sasany mifototra amin'ny safidin'ny navigateur/rafitra fandidiana. |
$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-pointer-cursor-for-buttons |
true (default) nafalse |
Ampio cursor "tanana" amin'ny singa bokotra tsy kilemaina. |
$enable-print-styles |
true (default) nafalse |
Mamela fomba hanamafisana ny fanontana. |
$enable-responsive-font-sizes |
true na false (default) |
Mamela ny haben'ny endritsoratra mandray andraikitra . |
$enable-validation-icons |
true (default) nafalse |
Mamela background-image ny kisary ao anatin'ny fampidiran-tsoratra sy ny endrika mahazatra sasany ho an'ny fanjakana fanamarinana. |
$enable-deprecation-messages |
true na false (default) |
Apetraho amin'ny true hanehoana fampitandremana rehefa mampiasa ny mixins sy ny fiasa efa lany andro izay kasaina esorina ao amin'ny v5 . |
loko
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
Ny loko rehetra misy ao amin'ny Bootstrap 4, dia azo alaina amin'ny maha-Sass variables sy sarintany Sass amin'ny scss/_variables.scss
rakitra. 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.
Loko lohahevitra
Mampiasa ampahany amin'ny loko rehetra izahay mba hamoronana palette miloko kely kokoa amin'ny famokarana loko, azo alaina ihany koa amin'ny maha-samihafa Sass sy sarintany Sass ao amin'ny scss/_variables.scss
rakitra Bootstrap.
Greys
Andian-tarana volondavenona midadasika sy sarintany Sass scss/_variables.scss
ho an'ny aloky ny volondavenona tsy tapaka manerana ny tetikasanao. Mariho fa ireo dia "volomparasy mangatsiatsiaka", izay mirona mankany amin'ny feo manga malefaka, fa tsy volondavenona tsy miandany.
Ao anatin'ny scss/_variables.scss
, dia hahita ny fiovan'ny loko Bootstrap sy ny sarintany Sass ianao. 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.
singa
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.
Modifiers
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.
manaiky
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.
CSS variables
Ny Bootstrap 4 dia ahitana karazana CSS roa ampolony 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.
Variable misy
Ireto ny variables ampidirintsika (mariho fa :root
ilaina ny). Hita ao amin'ny _root.scss
rakitray izy ireo.
OHATRA
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.
Variable breakpoint
Na dia nampiditra teboka fiatoana tao amin'ny fari-piainan'ny CSS (oh: --breakpoint-md
), ireo dia tsy tohanana amin'ny fangatahana media , fa mbola azo ampiasaina ao anatin'ny fehezan-dalàna amin'ny fangatahana media. Mijanona ao amin'ny CSS voaangona ireo fari-pandrefesana ireo ho an'ny fifanarahana mihemotra satria azo ampiasaina amin'ny JavaScript. Mianara bebe kokoa amin'ny spec .
Ity misy ohatra iray amin'ny zavatra tsy tohana:
Ary ity misy ohatra iray amin'ny tohana: