Téma Bootstrap
Sesuaikeun Bootstrap 4 sareng variabel Sass anu diwangun-di anyar pikeun preferensi gaya global pikeun téma sareng parobahan komponén anu gampang.
Dina Bootstrap 3, theming ieu lolobana disetir ku overrides variabel dina KURANG, CSS custom, sarta stylesheet tema misah nu urang kaasup kana dist
file urang. Kalayan sababaraha usaha, saurang tiasa ngadesain deui tampilan Bootstrap 3 tanpa ngarampa file inti. Bootstrap 4 nyayogikeun pendekatan anu akrab, tapi rada béda.
Ayeuna, téma dilaksanakeun ku variabel Sass, peta Sass, sareng CSS khusus. Teu aya deui stylesheet tema khusus; tibatan, anjeun tiasa ngaktipkeun téma diwangun-di pikeun nambahkeun gradién, kalangkang, sareng nu sanesna.
Anggo file Sass sumber kami pikeun ngamangpaatkeun variabel, peta, mixin, sareng seueur deui.
Sabisana, ulah ngarobah file inti Bootstrap. Pikeun Sass, éta hartosna nyiptakeun stylesheet anjeun nyalira anu ngimpor Bootstrap supados anjeun tiasa ngarobih sareng manjangkeunana. Anggap anjeun nganggo manajer pakét sapertos npm, anjeun bakal gaduh struktur file sapertos kieu:
Upami anjeun parantos ngaunduh file sumber kami sareng henteu nganggo manajer pakét, anjeun badé nyetél sacara manual hal anu sami sareng struktur éta, ngajaga file sumber Bootstrap misah ti anjeun sorangan.
Dina anjeun custom.scss
, anjeun bakal ngimpor file Sass sumber Bootstrap. Anjeun gaduh dua pilihan: kalebet sadayana Bootstrap, atanapi pilih bagian anu anjeun peryogikeun. Kami ajak anu terakhir, sanaos sadar aya sababaraha syarat sareng katergantungan dina komponén urang. Anjeun ogé kedah ngalebetkeun sababaraha JavaScript pikeun plugins kami.
Kalayan pangaturan éta, anjeun tiasa ngawitan ngarobih salah sahiji variabel sareng peta Sass dina file custom.scss
. Anjeun oge bisa ngamimitian nambahkeun bagéan Bootstrap handapeun // Optional
bagian sakumaha diperlukeun. Kami nyarankeun ngagunakeun tumpukan impor lengkep tina bootstrap.scss
file kami salaku titik awal anjeun.
Unggal variabel Sass dina Bootstrap 4 kalebet !default
bandéra anu ngamungkinkeun anjeun nimpa nilai standar variabel dina Sass anjeun nyalira tanpa ngarobih kode sumber Bootstrap. Salin sareng témpél variabel upami diperyogikeun, modifikasi nilaina, sareng cabut !default
bandéra. Upami variabel parantos ditugaskeun, maka éta moal ditugaskeun deui ku nilai standar dina Bootstrap.
Variabel overrides dina file Sass sarua bisa datang saméméh atawa sanggeus variabel standar. Najan kitu, nalika overriding sakuliah file Sass, overrides Anjeun kudu datang saméméh anjeun ngimpor file Sass Bootstrap urang.
Ieu conto anu ngarobih background-color
sareng color
nalika <body>
ngimpor sareng nyusun Bootstrap via npm:
Ulang sakumaha diperlukeun pikeun sagala variabel dina Bootstrap, kaasup pilihan global handap.
Bootstrap 4 ngawengku sakeupeul peta Sass, pasangan nilai konci nu nyieun leuwih gampang pikeun ngahasilkeun kulawarga CSS patali. Kami nganggo peta Sass pikeun warna, titik putus grid, sareng seueur deui. Sapertos variabel Sass, sadaya peta Sass kalebet !default
bandéra sareng tiasa ditindih sareng diperpanjang.
Sababaraha peta Sass urang dihijikeun kana peta kosong sacara standar. Hal ieu dilakukeun pikeun ngamungkinkeun ékspansi gampang tina peta Sass anu dipasihkeun, tapi hargana pikeun ngaleungitkeun barang tina peta anu rada sesah.
Pikeun ngarobih warna anu aya dina $theme-colors
peta kami, tambahkeun ieu kana file Sass khusus anjeun:
Pikeun nambahkeun warna anyar kana $theme-colors
, tambahkeun konci anyar jeung nilai:
Pikeun miceun kelir tina $theme-colors
, atawa peta sejenna, make map-remove
:
Bootstrap nganggap ayana sababaraha konci khusus dina peta Sass nalika kami nganggo sareng ngalegaan ieu nyalira. Nalika anjeun ngaluyukeun peta anu kalebet, anjeun tiasa mendakan kasalahan nalika konci peta Sass khusus dianggo.
Contona, urang make primary
, success
, jeung danger
kenop ti $theme-colors
pikeun tumbu, tombol, jeung kaayaan formulir. Ngaganti nilai konci ieu teu kedah aya masalah, tapi ngahapus aranjeunna tiasa nyababkeun masalah kompilasi Sass. Dina hal ieu, anjeun kedah ngarobih kodeu Sass anu ngagunakeun nilai-nilai éta.
Bootstrap ngagunakeun sababaraha pungsi Sass, tapi ngan sawaréh sawaréh lumaku pikeun téma umum. Kami geus kaasup tilu fungsi pikeun meunangkeun nilai tina peta warna:
Ieu ngamungkinkeun anjeun milih hiji warna tina peta Sass sapertos kumaha anjeun ngagunakeun variabel warna tina v3.
Urang ogé boga fungsi sejen pikeun meunangkeun tingkat nu tangtu warna tina $theme-colors
peta. Nilai tingkat négatip bakal terang warna, sedengkeun tingkat anu langkung luhur bakal poék.
Dina prakna, anjeun kedah nyauran fungsi sareng lulus dina dua parameter: nami warna ti $theme-colors
(contona, primér atanapi bahaya) sareng tingkat numerik.
Fungsi tambahan bisa ditambahkeun dina mangsa nu bakal datang atawa Sass custom anjeun sorangan pikeun nyieun fungsi tingkat pikeun peta Sass tambahan, atawa malah hiji generik lamun hayang jadi leuwih verbose.
Salah sahiji fungsi tambahan anu kami kalebet dina Bootstrap nyaéta fungsi kontras warna color-yiq
,. Éta ngagunakeun rohangan warna YIQ pikeun otomatis ngabalikeun warna kontras lampu ( #fff
) atanapi poék ( #111
) dumasar kana warna dasar anu ditangtukeun. Pungsi ieu hususna kapaké pikeun mixin atanapi loop dimana anjeun ngahasilkeun sababaraha kelas.
Contona, pikeun ngahasilkeun swatch warna tina $theme-colors
peta kami:
Éta ogé tiasa dianggo pikeun kabutuhan kontras sakali:
Anjeun ogé tiasa netepkeun warna dasar kalayan fungsi peta warna kami:
Sesuaikeun Bootstrap 4 sareng file variabel khusus anu diwangun sareng gampang togél preferensi CSS global sareng $enable-*
variabel Sass énggal. Override nilai variabel sarta recompile kalawan npm run test
sakumaha diperlukeun.
Anjeun tiasa mendakan sareng ngaluyukeun variabel ieu pikeun pilihan global konci dina _variables.scss
file kami.
Variabel | Nilai-nilai | Katerangan |
---|---|---|
$spacer |
1rem (standar), atanapi nilai naon waé> 0 |
Nangtukeun nilai spacer standar pikeun ngahasilkeun utilitas spacer sacara terprogram . |
$enable-rounded |
true (standar) atawafalse |
Aktipkeun gaya tos siap border-radius dina sababaraha komponén. |
$enable-shadows |
true atawa false (standar) |
Aktipkeun gaya tos siap box-shadow dina sababaraha komponén. |
$enable-gradients |
true atawa false (standar) |
Aktipkeun gradién anu tos ditetepkeun liwat background-image gaya dina sababaraha komponén. |
$enable-transitions |
true (standar) atawafalse |
Aktipkeun s tos siap transition dina rupa komponén. |
$enable-hover-media-query |
true atawa false (standar) |
Dipulut |
$enable-grid-classes |
true (standar) atawafalse |
Aktipkeun generasi kelas CSS pikeun sistem grid (misalna, .container , .row , .col-md-1 , jsb). |
$enable-caret |
true (standar) atawafalse |
Aktipkeun unsur pseudo caret on .dropdown-toggle . |
$enable-print-styles |
true (standar) atawafalse |
Aktipkeun gaya pikeun ngaoptimalkeun percetakan. |
Seueur rupa-rupa komponén sareng utilitas Bootstrap diwangun ku sababaraha warna anu ditetepkeun dina peta Sass. peta ieu bisa looped leuwih dina Sass pikeun gancang ngahasilkeun runtuyan rulesets.
Sadaya warna anu aya dina Bootstrap 4, sayogi salaku variabel Sass sareng peta Sass dina scss/_variables.scss
file kami. Ieu bakal dilegaan dina sékrési minor salajengna pikeun nambihan nuansa tambahan, sapertos palette grayscale anu kami parantos kalebet.
Ieu kumaha anjeun tiasa nganggo ieu dina Sass anjeun:
kelas utiliti warna oge sadia pikeun setelan color
na background-color
.
Ka hareupna, kami badé nyayogikeun peta sareng variabel Sass pikeun nuansa unggal warna sapertos anu parantos dilakukeun ku warna abu-abu di handap ieu.
Kami nganggo sawaréh tina sadaya warna pikeun nyiptakeun palet warna anu langkung alit pikeun ngahasilkeun skéma warna, ogé sayogi salaku variabel Sass sareng peta Sass dina scss/_variables.scss
file kami.
Hiji set expansive variabel abu sarta peta Sass scss/_variables.scss
pikeun nuansa konsisten abu sakuliah proyék Anjeun.
Dina _variables.scss
, anjeun bakal manggihan variabel warna urang jeung peta Sass. Ieu conto $colors
peta Sass:
Tambihkeun, piceun, atanapi robih niléy dina peta pikeun ngapdet kumaha aranjeunna dianggo dina seueur komponén sanés. Hanjakalna dina waktos ayeuna, henteu unggal komponén ngagunakeun peta Sass ieu. Pembaruan anu bakal datang bakal narékahan pikeun ningkatkeun ieu. Dugi ka waktos éta, rencanana ngagunakeun ${color}
variabel sareng peta Sass ieu.
Seueur komponén sareng utilitas Bootstrap diwangun ku @each
puteran anu ngulang dina peta Sass. Ieu hususna mantuan pikeun ngahasilkeun varian komponén ku urang $theme-colors
jeung nyieun varian responsif pikeun tiap breakpoint. Nalika anjeun ngaluyukeun peta Sass ieu sareng nyusun ulang, anjeun bakal otomatis ningali parobihan anjeun ditingali dina puteran ieu.
Seueur komponén Bootstrap diwangun kalayan pendekatan kelas modifier dasar. Ieu ngandung harti yén sabagéan ageung styling dikandung dina kelas dasar (contona, .btn
) sedengkeun variasi gaya dipasrahkeun ka kelas modifier (contona, .btn-danger
). Kelas modifier ieu diwangun tina $theme-colors
peta pikeun nyaluyukeun jumlah sareng nami kelas modifier kami.
Di dieu aya dua conto kumaha urang loop ngaliwatan $theme-colors
peta pikeun ngahasilkeun modifiers kana .alert
komponén tur sagala .bg-*
Utiliti tukang urang.
Gelung Sass ieu ogé henteu dugi ka peta warna. Anjeun oge bisa ngahasilkeun variasi responsif komponén Anjeun atawa Utiliti. Candak contona utilitas alignment téks responsif urang dimana urang nyampur hiji @each
loop pikeun $grid-breakpoints
peta Sass kalawan query média ngawengku.
Upami anjeun kedah ngarobih $grid-breakpoints
, parobihan anjeun bakal dilarapkeun ka sadaya puteran anu diulang dina peta éta.
Bootstrap 4 kalebet sakitar dua belasan sipat khusus CSS (variabel) dina CSS anu disusun. Ieu nyadiakeun aksés gampang kana nilai nu ilahar dipake kawas warna tema urang, titik putus, jeung tumpukan font primér nalika digawé di Inspektur browser anjeun, sandbox kode, atawa prototyping umum.
Ieu mangrupikeun variabel anu kami kalebet (perhatikeun yén :root
diperyogikeun). _root.scss
Éta aya dina file kami .
Variabel CSS nawiskeun kalenturan anu sami sareng variabel Sass, tapi tanpa peryogi kompilasi sateuacan dilayanan ka browser. Contona, di dieu urang ngareset font kaca urang jeung gaya link kalawan variabel CSS.
Anjeun ogé tiasa nganggo variabel breakpoint kami dina pamundut média anjeun: