Mavzu bo'yicha yuklash
Bootstrap 4-ni yangi o'rnatilgan Sass o'zgaruvchilari bilan oson mavzular va komponentlarni o'zgartirish uchun global uslub afzalliklari uchun sozlang.
Bootstrap 3-da mavzular asosan LESS-dagi o'zgarmaydiganlarni bekor qilish, maxsus CSS va biz dist
fayllarimizga qo'shgan alohida mavzu uslublar jadvali bilan boshqarilgan. Bir oz harakat bilan, asosiy fayllarga tegmasdan Bootstrap 3 ko'rinishini butunlay qayta loyihalash mumkin. Bootstrap 4 tanish, ammo biroz boshqacha yondashuvni taqdim etadi.
Endi mavzular Sass o'zgaruvchilari, Sass xaritalari va maxsus CSS yordamida amalga oshiriladi. Boshqa maxsus mavzular jadvali yo'q; Buning o'rniga siz gradientlar, soyalar va boshqalarni qo'shish uchun o'rnatilgan mavzuni yoqishingiz mumkin.
O'zgaruvchilar, xaritalar, miksinlar va boshqalardan foydalanish uchun manba Sass fayllarimizdan foydalaning.
Iloji bo'lsa, Bootstrap-ning asosiy fayllarini o'zgartirmang. Sass uchun bu Bootstrap-ni import qiladigan o'z uslublar jadvalingizni yaratishni anglatadi, shunda siz uni o'zgartirishingiz va kengaytirishingiz mumkin. Agar siz npm kabi paket menejeridan foydalanayotgan bo'lsangiz, sizda shunday ko'rinadigan fayl tuzilmasi bo'ladi:
Agar siz bizning manba fayllarimizni yuklab olgan bo'lsangiz va paket menejeridan foydalanmasangiz, Bootstrap-ning manba fayllarini o'zingizdan alohida saqlagan holda ushbu tuzilishga o'xshash narsani qo'lda sozlashni xohlaysiz.
Sizning custom.scss
, siz Bootstrap-ning manba Sass fayllarini import qilasiz. Sizda ikkita variant bor: barcha Bootstrap-ni qo'shing yoki kerakli qismlarni tanlang. Biz ikkinchisini rag'batlantiramiz, ammo bizning komponentlarimizda ba'zi talablar va bog'liqliklar mavjudligini biling. Shuningdek, plaginlarimiz uchun JavaScript-ni qo'shishingiz kerak bo'ladi.
Ushbu o'rnatish joyida siz Sass o'zgaruvchilari va xaritalaringizdan istalganini o'zgartirishni boshlashingiz mumkin custom.scss
. // Optional
Bundan tashqari , kerak bo'lganda bo'lim ostida Bootstrap qismlarini qo'shishni boshlashingiz mumkin . bootstrap.scss
Boshlanish nuqtasi sifatida faylimizdagi to'liq import stekidan foydalanishni tavsiya qilamiz .
Bootstrap 4-dagi har bir Sass o'zgaruvchisi !default
Bootstrap-ning manba kodini o'zgartirmasdan o'z Sass-dagi o'zgaruvchining standart qiymatini bekor qilish imkonini beruvchi bayroqni o'z ichiga oladi. Agar kerak bo'lsa, o'zgaruvchilardan nusxa ko'chiring va joylashtiring, ularning qiymatlarini o'zgartiring va !default
bayroqni olib tashlang. Agar o'zgaruvchi allaqachon tayinlangan bo'lsa, u Bootstrap-dagi standart qiymatlar bo'yicha qayta tayinlanmaydi.
Bootstrap o'zgaruvchilarining to'liq ro'yxatini bo'limda topasiz scss/_variables.scss
.
Xuddi shu Sass faylidagi o'zgaruvchilarni bekor qilish standart o'zgaruvchilardan oldin yoki keyin kelishi mumkin. Biroq, Sass fayllari bo'ylab bekor qilinganda, bekor qilishlaringiz Bootstrap's Sass fayllarini import qilishdan oldin kelishi kerak.
Bootstrapni npm orqali import qilish va kompilyatsiya qilishda va background-color
ni color
o'zgartiradigan misol :<body>
Bootstrap-dagi har qanday o'zgaruvchi, jumladan quyidagi global parametrlar uchun kerak bo'lganda takrorlang.
Bootstrap 4 tegishli CSS oilalarini yaratishni osonlashtiradigan bir nechta Sass xaritalarini, asosiy qiymat juftlarini o'z ichiga oladi. Biz Sass xaritalaridan ranglarimiz, to'rning uzilish nuqtalari va boshqalar uchun foydalanamiz. Xuddi Sass o'zgaruvchilari kabi, barcha Sass xaritalari !default
bayroqni o'z ichiga oladi va ularni bekor qilish va kengaytirish mumkin.
Ba'zi Sass xaritalarimiz sukut bo'yicha bo'sh xaritalarga birlashtirilgan. Bu ma'lum bir Sass xaritasini oson kengaytirish uchun amalga oshiriladi, lekin xaritadan elementlarni olib tashlashni biroz qiyinlashtiradi.
Xaritamizdagi mavjud rangni o'zgartirish uchun $theme-colors
Sass faylingizga quyidagilarni qo'shing:
ga yangi rang $theme-colors
qo'shish uchun yangi kalit va qiymatni qo'shing:
$theme-colors
dan yoki boshqa xaritadan ranglarni olib tashlash uchun dan foydalaning map-remove
. Shuni yodda tutingki, siz uni bizning talablarimiz va variantlarimiz orasiga kiritishingiz kerak:
Bootstrap Sass xaritalarida ba'zi o'ziga xos kalitlar mavjudligini taxmin qiladi, chunki biz ularni o'zimiz ishlatgan va kengaytirganmiz. Qo'shilgan xaritalarni moslashtirganingizda, ma'lum bir Sass xaritasining kalitidan foydalanilganda xatolarga duch kelishingiz mumkin.
Masalan, havolalar, tugmalar va shakl holatlari uchun primary
, success
, va danger
tugmalaridan foydalanamiz. $theme-colors
Ushbu kalitlarning qiymatlarini almashtirish hech qanday muammo tug'dirmasligi kerak, ammo ularni olib tashlash Sass kompilyatsiyasi bilan bog'liq muammolarga olib kelishi mumkin. Bunday hollarda siz ushbu qiymatlardan foydalanadigan Sass kodini o'zgartirishingiz kerak bo'ladi.
Bootstrap bir nechta Sass funksiyalaridan foydalanadi, ammo umumiy mavzuga faqat kichik to'plam qo'llaniladi. Rangli xaritalardan qiymatlarni olish uchun biz uchta funktsiyani qo'shdik:
Bular sizga Sass xaritasidan bir rangni tanlash imkonini beradi, xuddi v3 dagi rang oʻzgaruvchisidan qanday foydalansangiz.
Xaritadan ma'lum bir rang darajasini olish uchun bizda yana bir funktsiya mavjud . $theme-colors
Salbiy daraja qiymatlari rangni ochadi, yuqori daraja esa qorayadi.
Amalda siz funktsiyani chaqirasiz va ikkita parametrni o'tkazasiz: rangning nomi $theme-colors
(masalan, asosiy yoki xavfli) va raqamli daraja.
Kelajakda qo'shimcha funktsiyalar yoki qo'shimcha Sass xaritalari uchun darajali funktsiyalarni yaratish uchun o'zingizning shaxsiy Sassingiz qo'shilishi mumkin yoki agar siz batafsilroq bo'lishni istasangiz, hatto umumiy.
Bootstrap-ga qo'shadigan qo'shimcha funktsiyalardan biri bu rang kontrasti funktsiyasi color-yiq
. Belgilangan asosiy rang asosida ochiq ( ) yoki quyuq ( ) kontrast rangni avtomatik ravishda qaytarish uchun YIQ rang maydonidan foydalanadi. Bu funksiya, ayniqsa, bir nechta sinflarni yaratayotgan miksinlar yoki looplar uchun foydalidir.#fff
#111
Masalan, xaritamizdan rang namunalarini yaratish uchun $theme-colors
:
Bundan tashqari, bir martalik kontrast ehtiyojlari uchun ham foydalanish mumkin:
Rangli xarita funksiyalarimiz yordamida asosiy rangni ham belgilashingiz mumkin:
Bootstrap 4-ni o'rnatilgan maxsus o'zgaruvchilar faylimiz bilan sozlang va yangi $enable-*
Sass o'zgaruvchilari bilan global CSS afzalliklarini osongina almashtiring. O'zgaruvchining qiymatini bekor qiling va npm run test
kerak bo'lganda qayta kompilyatsiya qiling.
scss/_variables.scss
Bootstrap faylidagi asosiy global parametrlar uchun ushbu o'zgaruvchilarni topishingiz va sozlashingiz mumkin .
O'zgaruvchan | Qiymatlar | Tavsif |
---|---|---|
$spacer |
1rem (standart) yoki istalgan qiymat > 0 |
Bizning spacer yordamchi dasturlarimizni dasturiy ravishda yaratish uchun standart spacer qiymatini belgilaydi . |
$enable-rounded |
true (standart) yokifalse |
border-radius Turli komponentlarda oldindan belgilangan uslublarni yoqadi . |
$enable-shadows |
true yoki false (standart) |
box-shadow Turli komponentlarda oldindan belgilangan uslublarni yoqadi . |
$enable-gradients |
true yoki false (standart) |
background-image Turli komponentlardagi uslublar orqali oldindan belgilangan gradientlarni yoqadi . |
$enable-transitions |
true (standart) yokifalse |
transition Turli komponentlarda oldindan belgilangan s ni yoqadi . |
$enable-hover-media-query |
true yoki false (standart) |
Eskirgan |
$enable-grid-classes |
true (standart) yokifalse |
Grid tizimi uchun CSS sinflarini yaratishga ruxsat beradi (masalan, .container , .row , .col-md-1 , va hokazo). |
$enable-caret |
true (standart) yokifalse |
Pseudo element karetini yoqadi .dropdown-toggle . |
$enable-print-styles |
true (standart) yokifalse |
Chop etishni optimallashtirish uchun uslublarni yoqadi. |
Bootstrap-ning ko'plab turli komponentlari va yordamchi dasturlari Sass xaritasida aniqlangan bir qator ranglar orqali qurilgan. Tezda bir qator qoidalar to'plamini yaratish uchun ushbu xaritani Sassda aylantirish mumkin.
Bootstrap 4 da mavjud bo'lgan barcha ranglar Sass o'zgaruvchilari va scss/_variables.scss
fayldagi Sass xaritasi sifatida mavjud. Bu, biz allaqachon kiritgan kulrang palitraga o'xshab, qo'shimcha soyalarni qo'shish uchun keyingi kichik nashrlarda kengaytiriladi .
Bularni Sass-da qanday ishlatishingiz mumkin:
color
Sozlash va uchun rang yordamchi sinflari ham mavjud background-color
.
Kelajakda biz quyida kul rangdagi ranglar bilan qilganimizdek, har bir rangning soyalari uchun Sass xaritalari va o‘zgaruvchilari bilan ta’minlashni maqsad qilamiz.
Rang sxemalarini yaratish uchun kichikroq rang palitrasini yaratish uchun barcha ranglarning kichik to'plamidan foydalanamiz, shuningdek, Bootstraps scss/_variables.scss
faylida Sass o'zgaruvchilari va Sass xaritasi sifatida mavjud.
Kulrang oʻzgaruvchilarning keng toʻplami va scss/_variables.scss
loyihangiz boʻylab kul rangning izchil soyalari uchun Sass xaritasi.
ichida scss/_variables.scss
siz Bootstrap rang o'zgaruvchilari va Sass xaritasini topasiz. $colors
Mana Sass xaritasiga misol :
Xarita ichidagi qiymatlarni qoʻshing, oʻchiring yoki oʻzgartiring, ular boshqa komponentlarda qanday ishlatilishini yangilang. Afsuski, hozirgi vaqtda har bir komponent ushbu Sass xaritasidan foydalanmaydi. Kelgusi yangilanishlar buni yaxshilashga intiladi. Ungacha ${color}
o'zgaruvchilardan va ushbu Sass xaritasidan foydalanishni rejalashtiring.
Bootstrap-ning ko'pgina komponentlari va yordamchi dasturlari @each
Sass xaritasi bo'ylab takrorlanadigan tsikllar bilan qurilgan. Bu, ayniqsa, bizning komponentimiz $theme-colors
variantlarini yaratish va har bir to'xtash nuqtasi uchun javob beruvchi variantlarni yaratish uchun foydalidir. Ushbu Sass xaritalarini moslashtirganingiz va qayta kompilyatsiya qilganingizdan so'ng, avtomatik ravishda o'zgartirishlaringiz ushbu tsikllarda aks ettirilganini ko'rasiz.
Bootstrap-ning ko'pgina komponentlari asosiy modifikator sinfi yondashuvi bilan qurilgan. Bu shuni anglatadiki, uslubning asosiy qismi asosiy sinfga (masalan, .btn
) kiritilgan, uslub o'zgarishlari esa modifikator sinflari bilan chegaralangan (masalan, .btn-danger
). $theme-colors
Ushbu modifikator sinflari bizning modifikator sinflarimiz soni va nomini sozlash uchun xaritadan qurilgan .
Komponentga $theme-colors
modifikatorlar va barcha fon yordam dasturlarini yaratish uchun xaritani qanday aylantirishimiz haqida ikkita misol ..alert
.bg-*
Ushbu Sass halqalari ham rangli xaritalar bilan cheklanmaydi. Shuningdek, siz komponentlaringiz yoki yordamchi dasturlaringizning sezgir o'zgarishlarini yaratishingiz mumkin. @each
Masalan, biz Sass xaritasi uchun tsiklni $grid-breakpoints
media so'rov bilan aralashtiradigan javob beruvchi matnni tekislash yordamchi dasturlarimizni olaylik .
Agar siz ni o'zgartirishingiz kerak bo'lsa, o'zgartirishlaringiz $grid-breakpoints
ushbu xaritada takrorlanadigan barcha tsikllarga qo'llaniladi.
Bootstrap 4 kompilyatsiya qilingan CSS-da yigirmaga yaqin CSS maxsus xususiyatlarini (o'zgaruvchilari) o'z ichiga oladi. Bular brauzeringiz Inspektorida, kod sinov muhitida yoki umumiy prototiplashda ishlaganda mavzu ranglari, to‘xtash nuqtalari va asosiy shrift steklari kabi keng tarqalgan foydalaniladigan qiymatlarga oson kirish imkonini beradi.
Bu erda biz o'z ichiga olgan o'zgaruvchilar ( :root
kerak ekanligini unutmang). Ular bizning faylimizda joylashgan _root.scss
.
CSS o'zgaruvchilari Sass o'zgaruvchilariga o'xshash moslashuvchanlikni taklif qiladi, ammo brauzerga taqdim etilishidan oldin kompilyatsiya qilish kerak emas. Misol uchun, bu erda biz sahifamizning shriftini va CSS o'zgaruvchilari bilan bog'lanish uslublarini qayta o'rnatmoqdamiz.
Biz dastlab CSS o'zgaruvchilarimizga to'xtash nuqtalarini qo'shgan bo'lsak ham (masalan, --breakpoint-md
), ular media so'rovlarida qo'llab-quvvatlanmaydi , lekin ular hali ham media so'rovlarida qoidalar to'plamida ishlatilishi mumkin . Ushbu to'xtash nuqtasi o'zgaruvchilari JavaScript tomonidan ishlatilishi mumkinligi sababli orqaga qarab muvofiqlik uchun kompilyatsiya qilingan CSS-da qoladi. Spetsifikatsiyada ko'proq bilib oling.
Qo'llab-quvvatlanmaydigan narsalarga misol :
Va bu erda qo'llab-quvvatlanadigan misol :