Motó ya likambo Bootstrap
Personnaliser Bootstrap 4 na ba variables na biso ya sika ya Sass oyo etongami na kati mpo na ba préférences ya style mondial mpo na thème ya pete mpe ba changements ya composant.
Na Bootstrap 3, thème ezalaki mingi mingi kokambama na ba overrides ya variable na LESS, CSS personnalisé, mpe stylesheet ya thème ekeseni oyo tokɔtisaki na ba dist
fichiers na biso. Na mwa milende, moto akokaki kobongola mobimba lolenge ya komonana ya Bootstrap 3 kozanga kosimba ba fichiers ya moboko. Bootstrap 4 epesaka ndenge oyo eyebani, kasi oyo ekeseni mwa moke.
Sikoyo, thème ekokisami na ba variables ya Sass, ba cartes ya Sass, na CSS personnalisé. Ezali na feuille de style ya thème oyo epesameli lisusu te; na esika na yango, okoki kopesa nzela na motó ya likambo oyo etongami mpo na kobakisa ba gradients, bilili, mpe makambo mosusu.
Salelá ba fichiers na biso ya Sass ya source mpo na ko profiter na ba variables, ba cartes, ba mixins, mpe mingi mosusu.
Soki likoki ezali, koboya kobongola ba fichiers ya moboko ya Bootstrap. Mpo na Sass, yango elingi koloba kosala stylesheet na yo moko oyo ekotisaka Bootstrap mpo ete okoka ko modifier mpe ko extend yango. Soki tokanisi ete ozali kosalela mokambi ya ba paquets lokola npm, okozala na ebongiseli ya fisyé oyo ezali lokola oyo:
Soki o téléchargé ba fichiers source na biso mpe ozali kosalela gestionnaire ya ba paquets te, okolinga ko configurer manuellement eloko moko ya ndenge moko na structure wana, kobatela ba fichiers source ya Bootstrap separate na oyo ya yo.
Na custom.scss
, oko kotisa ba fichiers Sass ya source ya Bootstrap. Ozali na ba options mibale: kotia nionso ya Bootstrap, to pona ba parties oyo osengeli na yango. Tolendisi oyo ya nsuka, atako yeba ete ezali na mwa masengi mpe bozangi boyokani na kati ya biteni na biso. Okozala mpe na mposa ya kotya mwa JavaScript mpo na ba plugins na biso.
Na setup wana na esika, okoki kobanda ko modifier moko ya ba variables ya Sass na ba cartes na yo custom.scss
. Okoki mpe kobanda kobakisa biteni ya Bootstrap na nse ya // Optional
eteni soki esengeli. Tosengi kosalela stack ya importation mobimba uta na bootstrap.scss
fichier na biso lokola point de départ na yo.
Variable nionso ya Sass na Bootstrap 4 ezali na !default
drapeau oyo epesaka yo nzela ya ko superposer valeur par défaut ya variable na Sass na yo moko sans ko modifier code source ya Bootstrap. Copier pe coller ba variables soki esengeli, modifier ba valeurs na yango, pe longola !default
drapeau. Soki variable moko esi epesameli, wana ekopesama lisusu te na ba valeurs par défaut na Bootstrap.
Okokuta liste mobimba ya ba variables ya Bootstrap na scss/_variables.scss
.
Ba overrides ya variable na kati ya fichier Sass moko ekoki koya avant to sima ya ba variables par défaut. Kasi, tango ozali ko overrider na kati ya ba fichiers Sass, ba overrides na yo esengeli eya liboso ya ko kotisa ba fichiers Sass ya Bootstrap.
Tala ndakisa oyo ebongoli background-color
mpe color
mpo na <body>
ntango ya kokɔtisa mpe kosangisa Bootstrap na nzela ya npm:
Zongela soki esengeli mpo na variable nyonso na Bootstrap, bakisa mpe ba options ya mokili mobimba oyo ezali awa na nse.
Bootstrap 4 ezali na mwa ndambo ya ba cartes ya Sass, ba paires ya valeur clé oyo esalaka ete ezala pete mpo na kobimisa mabota ya CSS oyo ezali na boyokani. Tosalelaka ba cartes ya Sass pona ba couleurs na biso, ba points de rupture ya grille, pe ebele. Kaka lokola ba variables ya Sass, ba cartes nionso ya Sass ezali na !default
drapeau mpe ekoki kozala surpassé mpe ko extend.
Ba cartes na biso misusu ya Sass esangani na oyo ya pamba par défaut. Yango esalemaka mpo na kopesa nzela na bopanzani ya pete ya karte ya Sass oyo epesami, kasi eyaka na ntalo ya kosala ete kolongola biloko na karte ezala mwa mpasi mingi.
Mpo na kobongola langi oyo ezali na $theme-colors
karte na biso, bakisá makambo oyo elandi na fisyé na yo ya Sass oyo olingi:
Mpo na kobakisa langi ya sika na $theme-colors
, bakisá fungola mpe motuya ya sika:
Mpo na kolongola balangi na $theme-colors
, to na karte mosusu nyonso, salelá map-remove
. Yeba ete osengeli kokotisa yango kati na masengi mpe banzela na biso:
Bootstrap ezuaka présence ya ba touches spécifiques mosusu na kati ya ba cartes ya Sass ndenge tosalelaki mpe to extend oyo biso moko. Ntango ozali kobongisa bakarte oyo ezali na kati, okoki kokutana na mabunga esika oyo ezali kosalela fungola ya karte ya Sass moko boye.
Na ndakisa, tosalelaka primary
, success
, mpe danger
bafungola uta $theme-colors
mpo na ba liens, ba boutons, mpe ba états ya formulaire. Kozongisa ba valeurs ya ba clés oyo esengeli ko présenter ba problèmes te, mais kolongola yango ekoki kosala ba problèmes ya compilation ya Sass. Na ba instances oyo, ekosenga o modifier code Sass oyo esalelaka ba valeurs wana.
Bootstrap esalelaka ba fonctions ya Sass ebele, kasi kaka sous-ensemble moko nde ekoki kosalelama na thème général. Totie misala misato mpo na kozwa motuya uta na bakarte ya langi:
Yango epesaka yo nzela ya kopona langi moko na karte ya Sass mingi lokola ndenge olingaki kosalela variable ya langi uta na v3.
Tozali mpe na fonction mosusu mpo na kozwa niveau moko boye ya couleur na $theme-colors
carte. Ba valeurs ya niveau négatif eko éclairer couleur, alors que ba niveaux ya likolo eko molili.
Na pratique, olingaki o benga fonction pe o passer na deux paramètres : kombo ya couleur à partir ya $theme-colors
(par exemple, primaire ou danger) na niveau numérique.
Ba fonctions ya kobakisa ekokaki kobakisa na mikolo ekoya to Sass na yo moko personnalisé mpo na kosala ba fonctions ya niveau mpo na ba cartes ya Sass ya kobakisa, to kutu moko ya générique soki olingaki kozala verbose mingi.
Moko ya mosala mosusu oyo tozali kokɔtisa na Bootstrap ezali mosala ya kokesana na langi, color-yiq
. Esalelaka esika ya langi ya YIQ mpo na kozongisa na ndenge ya automatique langi ya bokeseni ya pole ( #fff
) to ya molili ( #111
) na kotalela langi ya base oyo emonisami. Fonction oyo ezali surtout utile pona ba mixins to ba boucles esika ozali ko générer ba classes ebele.
Na ndakisa, mpo na kobimisa ba swatches ya langi uta na $theme-colors
karte na biso:
Ekoki mpe kosalelama mpo na bamposa ya bokeseni oyo esalemaka mbala moko:
Okoki pe ko préciser couleur ya base na ba fonctions na biso ya carte ya couleur:
Personnaliser Bootstrap 4 na fichier na biso ya ba variables personnalisées intégrées mpe toggler facilement ba préférences CSS mondiales na ba $enable-*
variables ya sika ya Sass. Bolongola valeur ya variable moko pe recompiler na npm run test
ndenge esengeli.
Okoki koluka mpe kosala ba variables oyo mpo na ba options mondiales ya ntina na scss/_variables.scss
fichier ya Bootstrap.
Variable oyo ekoki kobongwana | Mituya ya bato | Ndimbola |
---|---|---|
$spacer |
1rem (ya liboso), to motuya nyonso > 0 |
Ezali kolakisa motuya ya espacer par défaut mpo na kobimisa na ndenge ya programme ba utilitaires na biso ya espacer . |
$enable-rounded |
true (par défaut) tofalse |
Ezali kopesa nzela na ba styles oyo esili kolimbolama liboso border-radius na ba composants ndenge na ndenge. |
$enable-shadows |
true to false (na ndenge ya liboso) . |
Ezali kopesa nzela na ba styles oyo esili kolimbolama liboso box-shadow na ba composants ndenge na ndenge. |
$enable-gradients |
true to false (na ndenge ya liboso) . |
Ezali kopesa nzela na ba gradients oyo esili kolimbolama na nzela ya background-image ba styles na ba composants ndenge na ndenge. |
$enable-transitions |
true (par défaut) tofalse |
transition Ezali kopesa nzela na s oyo esili kolimbolama liboso na biloko ndenge na ndenge. |
$enable-hover-media-query |
true to false (na ndenge ya liboso) . |
Esili kosalelama te |
$enable-grid-classes |
true (par défaut) tofalse |
Ezali kopesa nzela na bokeli ya ba kelasi ya CSS mpo na système ya grille (ndakisa, .container , .row , .col-md-1 , etc.). |
$enable-caret |
true (par défaut) tofalse |
Ezali kopesa nzela na caret ya pseudo élément na .dropdown-toggle . |
$enable-print-styles |
true (par défaut) tofalse |
Ezali kopesa nzela na ba styles mpo na ko optimiser impression. |
Mingi ya ba composants mpe ba utilitaires ndenge na ndenge ya Bootstrap etongami na nzela ya série ya ba couleurs oyo e définir na carte ya Sass. Carte oyo ekoki kozala boucle likolo na Sass mpo na kobimisa noki série ya ba ensembles ya mibeko.
Ba couleurs nionso oyo ezali na Bootstrap 4, ezali lokola ba variables ya Sass mpe carte ya Sass na scss/_variables.scss
fichier. Yango ekopanzana na ba sorties ya mike mike oyo ekolanda mpo na kobakisa ba nuances ya kobakisa, mingi lokola palette ya gris oyo tozali déjà ko inclure.
Tala ndenge okoki kosalela oyo na Sass na yo:
Ba classes ya utilité ya couleur ezali pe pona ko setting color
pe background-color
.
Na mikolo ekoya, tokozala na mokano ya kopesa ba cartes ya Sass mpe ba variables mpo na ba nuances ya couleur moko na moko ndenge tosalaki na ba couleurs ya gris oyo ezali awa na se.
Tosalelaka sous-ensemble ya ba couleurs nionso pona kosala palette ya couleur ya moke pona ko générer ba schemes ya couleur, oyo ezali pe lokola ba variables ya Sass pe carte ya Sass na scss/_variables.scss
fichier ya Bootstraps.
Ensemble expansif ya ba variables ya gris na carte Sass na scss/_variables.scss
pona ba nuances constantes ya gris na kati ya projet na yo.
Na kati scss/_variables.scss
ya , okokuta ba variables ya couleur ya Bootstrap na carte ya Sass. Tala ndakisa ya $colors
karte ya Sass:
Bakisa, longola, to bongisa ba valeurs na kati ya carte mpo na ko actualiser ndenge nini esalelamaka na ba composants misusu ebele. Malheureusement na moment oyo, composant nionso te e utiliser carte oyo ya Sass. Ba mises à jour oyo ekoya ekosala makasi mpo na kobongisa likambo oyo. Kino tango wana, sala plan ya kosalela ba ${color}
variables na carte oyo ya Sass.
Mingi ya ba composants na ba utilitaires ya Bootstrap etongami na @each
ba boucles oyo ezo iterate likolo ya carte ya Sass. Yango ezali surtout utile pona ko générer ba variantes ya composante moko par notre $theme-colors
pe ko créer ba variantes responsives pona point de rupture moko na moko. Lokola ozali ko personnaliser ba cartes oyo ya Sass mpe ko recompiler, okomona automatiquement ba changements na yo ezo refleter na ba boucles oyo.
Mingi ya ba composants ya Bootstrap etongami na approche ya classe base-modifier. Yango elingi koloba ete eteni monene ya lolenge ya kosala ezali na kelasi ya moboko (ndakisa, .btn
) nzokande mbongwana ya lolenge ekangami na kelasi ya mobongisi (ndakisa, .btn-danger
). Ba classes oyo ya modificateur etongami à partir ya $theme-colors
carte pona kosala personnalisation ya nombre na kombo ya ba classes na biso ya modificateur.
Tala ba exemples mibale ya ndenge to boucle likolo ya $theme-colors
carte pona ko générer ba modificateurs na .alert
composant na ba .bg-*
utilitaires na biso nionso ya fond.
Ba boucles oyo ya Sass ekangami kaka na ba cartes ya couleur te, pe. Okoki mpe kobimisa ba variations responsives ya ba composants to ba utilitaires na yo. Bozua par exemple ba utilitaires na biso ya alignment ya texte responsif esika tosangisaka @each
boucle pona $grid-breakpoints
carte Sass na requête ya media inclure.
Soki osengeli kobongola $grid-breakpoints
, mbongwana na yo ekosalema na ba boucles nyonso oyo ezali kozongela likoló ya karte yango.
Bootstrap 4 ezali na pene na douzaine mibale ya ba propriétés personnalisées ya CSS (variables) na CSS na yango oyo esangisi. Yango epesaka nzela ya pete na ba valeurs oyo esalelamaka mingi lokola ba couleurs ya thème na biso, ba points de rupture, mpe ba stacks ya ba fonts ya liboso tango ozali kosala na Inspecteur ya navigateur na yo, sandbox ya code, to prototyping général.
Tala ba variables oyo tozali ko kotisa (notez que the :root
ezali requis). Bazali na kati ya _root.scss
dossier na biso.
Ba variables ya CSS epesaka flexibilité ya ndenge moko na ba variables ya Sass, kasi sans besoin ya compilation avant ya ko servir na navigateur. Par exemple, awa tozali ko réinitialiser ba styles ya fonte na lien ya page na biso na ba variables CSS.
Atako totia na ebandeli ba points de rupture na ba variables na biso ya CSS (ndakisa, --breakpoint-md
), oyo esungami te na ba requêtes ya media , kasi ekoki kaka kosalelama na kati ya ba ensembles ya mibeko na ba requêtes ya media. Ba variables oyo ya point de rupture etikali na CSS compilé pona compatibilité en arrière donné que ekoki ko utiliser na JavaScript. Yekola makambo mingi na spec.
Tala ndakisa ya oyo esungami te:
Mpe talá ndakisa ya makambo oyo esungami: