Тақырыптық жүктеу жолы
Тақырыптарды және құрамдас бөліктерді оңай өзгерту үшін жаһандық стиль таңдаулары үшін жаңа кірістірілген Sass айнымалыларымен Bootstrap 4-ті теңшеңіз.
Bootstrap 3-те тақырып негізінен LESS ішіндегі айнымалыларды қайта анықтаумен, реттелетін CSS және dist
файлдарымызға енгізілген бөлек тақырыптық стильдер кестесімен негізделді. Біраз күш жұмсап, негізгі файлдарға қол тигізбестен Bootstrap 3 көрінісін толығымен қайта жасауға болады. Bootstrap 4 таныс, бірақ сәл өзгеше тәсілді ұсынады.
Енді тақырыпты Sass айнымалылары, Sass карталары және реттелетін CSS орындайды. Арнайы тақырыптық стильдер кестесі жоқ; оның орнына градиенттер, көлеңкелер және т.б. қосу үшін кірістірілген тақырыпты қосуға болады.
Айнымалы мәндердің, карталардың, миксиндердің және т.б. мүмкіндіктерін пайдалану үшін бастапқы Sass файлдарын пайдаланыңыз.
Мүмкіндігінше, Bootstrap негізгі файлдарын өзгертуден аулақ болыңыз. Sass үшін бұл Bootstrap импорттайтын өзіңіздің стиль кестесін жасауды білдіреді, осылайша оны өзгертіп, кеңейте аласыз. Npm сияқты бума менеджерін пайдаланып жатырсыз деп есептесеңіз, сізде келесідей файл құрылымы болады:
Бастапқы файлдарды жүктеп алған болсаңыз және пакет менеджерін пайдаланбасаңыз, Bootstrap бастапқы файлдарын өзіңіздікінен бөлек сақтай отырып, сол құрылымға ұқсас нәрсені қолмен орнатқыңыз келеді.
Сізде custom.scss
Bootstrap бастапқы Sass файлдарын импорттайсыз. Сізде екі нұсқа бар: барлық Bootstrap-ті қосыңыз немесе қажетті бөліктерді таңдаңыз. Біз соңғысын қолдаймыз, бірақ біздің құрамдас бөліктерде кейбір талаптар мен тәуелділіктер бар екенін ескеріңіз. Сондай-ақ плагиндеріміз үшін кейбір JavaScript қосуыңыз қажет.
Бұл орнату орнында сіз өзіңіздің Sass айнымалылары мен карталарының кез келгенін өзгертуді бастай аласыз custom.scss
. // Optional
Қажет болса, бөлімнің астына Bootstrap бөліктерін қосуды бастауға болады . bootstrap.scss
Бастапқы нүкте ретінде біздің файлдағы толық импорт стекін пайдалануды ұсынамыз .
Bootstrap 4 жүйесіндегі әрбір Sass айнымалысы !default
Bootstrap бастапқы кодын өзгертпестен жеке Sass ішіндегі айнымалының әдепкі мәнін қайта анықтауға мүмкіндік беретін жалаушаны қамтиды. Қажет болса, айнымалы мәндерді көшіріп, қойыңыз, олардың мәндерін өзгертіңіз және !default
жалаушаны жойыңыз. Айнымалы мән әлдеқашан тағайындалған болса, ол Bootstrap бағдарламасындағы әдепкі мәндер арқылы қайта тағайындалмайды.
Bootstrap айнымалыларының толық тізімін мына жерден табасыз scss/_variables.scss
.
Бір Sass файлындағы айнымалыларды қайта анықтау әдепкі айнымалылардың алдында немесе кейін келуі мүмкін. Дегенмен, Sass файлдарын қайта анықтау кезінде Bootstrap Sass файлдарын импорттаудан бұрын қайта анықтаулар келуі керек.
Мұнда npm арқылы Bootstrap импорттау және құрастыру кезінде background-color
және color
үшін өзгертетін мысал келтірілген :<body>
Төмендегі ғаламдық опцияларды қоса, Bootstrap ішіндегі кез келген айнымалы үшін қажетінше қайталаңыз.
Bootstrap 4 бірнеше Sass карталарын, сәйкес CSS отбасыларын құруды жеңілдететін негізгі мән жұптарын қамтиды. Біз Sass карталарын түстеріміз, тордың тоқтау нүктелері және т.б. үшін пайдаланамыз. Sass айнымалылары сияқты, барлық Sass карталары !default
жалаушаны қамтиды және оларды қайта анықтауға және кеңейтуге болады.
Кейбір Sass карталары әдепкі бойынша бос карталарға біріктірілген. Бұл берілген Sass картасын оңай кеңейтуге мүмкіндік беру үшін жасалады, бірақ картадан элементтерді жоюды біршама қиындатады.
Картамыздағы бар түсті өзгерту үшін $theme-colors
теңшелетін Sass файлыңызға келесіні қосыңыз:
Жаңа түс $theme-colors
қосу үшін жаңа кілт пен мәнді қосыңыз:
Түстерді жою үшін $theme-colors
немесе кез келген басқа картаны пайдаланыңыз map-remove
. Оны біздің талаптарымыз бен опцияларымыздың арасына енгізу керек екенін ескеріңіз:
Bootstrap Sass карталарында кейбір арнайы кілттердің болуын болжайды, өйткені біз оларды өзіміз қолданып, кеңейтеміз. Қосылған карталарды теңшеген кезде, белгілі бір Sass картасының кілті пайдаланылған кезде қателерге тап болуыңыз мүмкін.
Мысалы, сілтемелер, түймелер және пішін күйлері үшін primary
, success
, және danger
пернелерін пайдаланамыз. $theme-colors
Бұл кілттердің мәндерін ауыстыру ешқандай мәселе тудырмауы керек, бірақ оларды жою Sass компиляция мәселелерін тудыруы мүмкін. Бұл жағдайларда сол мәндерді пайдаланатын Sass кодын өзгерту қажет болады.
Bootstrap бірнеше Sass функцияларын пайдаланады, бірақ жалпы тақырыпқа тек ішкі жиын ғана қолданылады. Түс карталарынан мәндерді алу үшін біз үш функцияны қостық:
Бұл v3-тен түс айнымалысын қалай пайдаланатын сияқты Sass картасынан бір түсті таңдауға мүмкіндік береді.
Сондай-ақ бізде картадан белгілі бір түс деңгейін алуға арналған тағы бір функция бар. $theme-colors
Теріс деңгей мәндері түсті ағартады, ал жоғары деңгейлер күңгірттенеді.
Іс жүзінде сіз функцияны шақырып, екі параметрді бересіз: түс атауы $theme-colors
(мысалы, негізгі немесе қауіпті) және сандық деңгей.
Қосымша Sass карталары үшін деңгей функцияларын жасау үшін болашақта қосымша функцияларды немесе жеке Sass қосуға болады, немесе егер сіз егжей-тегжейлі болғыңыз келсе, тіпті жалпы.
Bootstrap жүйесіне қосатын қосымша функциялардың бірі - түсті контраст функциясы color-yiq
. Ол көрсетілген негізгі түске негізделген ашық ( ) немесе күңгірт ( ) контраст түсті автоматты түрде қайтару үшін YIQ түс кеңістігін пайдаланады. Бұл функция әсіресе бірнеше сыныпты жасайтын миксиндер немесе циклдар үшін пайдалы.#fff
#111
Мысалы, біздің $theme-colors
картадан түс үлгілерін жасау үшін:
Оны бір реттік контраст қажеттіліктері үшін де пайдалануға болады:
Сондай-ақ, негізгі түсті біздің түсті карта функцияларымызбен көрсетуге болады:
Bootstrap 4 қолданбасын кірістірілген теңшелетін айнымалылар файлымен теңшеңіз және жаңа $enable-*
Sass айнымалыларымен жаһандық CSS теңшелімдерін оңай ауыстырыңыз. Айнымалы мәнді қайта анықтап npm run test
, қажетінше онымен қайта құрастырыңыз.
scss/_variables.scss
Bootstrap файлындағы негізгі жаһандық опциялар үшін осы айнымалы мәндерді табуға және теңшеуге болады .
Айнымалы | Құндылықтар | Сипаттама |
---|---|---|
$spacer |
1rem (әдепкі) немесе кез келген мән > 0 |
Біздің spacer утилиталарын бағдарламалық түрде жасау үшін әдепкі spacer мәнін көрсетеді . |
$enable-rounded |
true (әдепкі) немесеfalse |
border-radius Әртүрлі құрамдас бөліктерде алдын ала анықталған мәнерлерді қосады . |
$enable-shadows |
true немесе false (әдепкі) |
box-shadow Әртүрлі құрамдас бөліктерде алдын ала анықталған мәнерлерді қосады . |
$enable-gradients |
true немесе false (әдепкі) |
background-image Түрлі құрамдас бөліктердегі мәнерлер арқылы алдын ала анықталған градиенттерді қосады . |
$enable-transitions |
true (әдепкі) немесеfalse |
transition Әртүрлі құрамдастарда алдын ала анықталған s мүмкіндігін қосады . |
$enable-hover-media-query |
true немесе false (әдепкі) |
Ескірген |
$enable-grid-classes |
true (әдепкі) немесеfalse |
Тор жүйесі үшін CSS сыныптарын құруды қосады (мысалы, .container , .row , .col-md-1 , т.б.). |
$enable-caret |
true (әдепкі) немесеfalse |
псевдоэлементтік каретканы қосады .dropdown-toggle . |
$enable-print-styles |
true (әдепкі) немесеfalse |
Басып шығаруды оңтайландыру үшін мәнерлерді қосады. |
Bootstrap түрлі компоненттері мен утилиталарының көпшілігі Sass картасында анықталған түстер қатары арқылы жасалған. Бұл картаны бірнеше ережелер жиынын жылдам жасау үшін Sass жүйесінде айналдыруға болады.
Bootstrap 4 нұсқасында қол жетімді барлық түстер Sass айнымалылары және scss/_variables.scss
файлдағы Sass картасы ретінде қол жетімді. Бұл біз қосқан сұр реңк палитрасы сияқты қосымша реңктерді қосу үшін кейінгі шағын шығарылымдарда кеңейтіледі .
Оларды Sass-те қалай пайдалануға болады:
Түс утилитасының сыныптары да орнату үшін қол жетімді color
және background-color
.
Болашақта біз төмендегі сұр реңкті түстермен жасағандай, әр түстің реңктері үшін Sass карталары мен айнымалы мәндерін беруді мақсат етеміз.
Түс схемаларын жасау үшін кішірек түстер палитрасын жасау үшін барлық түстердің жиынын пайдаланамыз, сонымен қатар Bootstraps scss/_variables.scss
файлында Sass айнымалылары және Sass картасы ретінде қолжетімді.
Сұр айнымалылардың кең жиынтығы және scss/_variables.scss
жобаңыздағы сұр түстің тұрақты реңктері үшін Sass картасы.
ішінде scss/_variables.scss
Bootstrap түсінің айнымалы мәндерін және Sass картасын табасыз. Мұнда $colors
Sass картасының мысалы келтірілген:
Көптеген басқа құрамдастарда қолданылу жолын жаңарту үшін картаға мәндерді қосыңыз, жойыңыз немесе өзгертіңіз. Өкінішке орай, қазіргі уақытта әрбір компонент бұл Sass картасын пайдаланбайды. Болашақ жаңартулар мұны жақсартуға тырысады. Осы уақытқа дейін ${color}
айнымалы мәндерді және осы Sass картасын пайдалануды жоспарлаңыз.
Көптеген Bootstrap компоненттері мен утилиталары @each
Sass картасын қайталайтын циклдармен жасалған. Бұл әсіресе біздің құрамдас $theme-colors
нұсқаларды жасау және әрбір тоқтау нүктесі үшін жауап беретін нұсқаларды жасау үшін пайдалы. Осы Sass карталарын реттеп, қайта құрастырған кезде, осы циклдерде көрсетілген өзгерістерді автоматты түрде көресіз.
Bootstrap компоненттерінің көпшілігі базалық модификатор класының тәсілімен құрастырылған. Бұл сәндеудің негізгі бөлігі негізгі сыныпқа (мысалы, .btn
) кіретінін білдіреді, ал стиль нұсқалары модификатор кластарымен шектеледі (мысалы, .btn-danger
). Бұл модификатор кластары $theme-colors
біздің модификатор класстарымыздың саны мен атауын теңшеу үшін картадан құрастырылған.
Мұнда компонентке және барлық фондық утилиталарға $theme-colors
модификаторларды жасау үшін картаны айналдырудың екі мысалы берілген ..alert
.bg-*
Бұл Sass циклдері түсті карталармен шектелмейді. Сондай-ақ құрамдастардың немесе утилиталардың жауап беретін нұсқаларын жасауға болады. Мысалы, жауап беретін мәтінді туралау утилиталарын алайық, мұнда біз Sass картасы үшін @each
циклды $grid-breakpoints
медиа сұраумен араластырамыз.
Егер сізге өзгерту қажет болса $grid-breakpoints
, өзгертулер сол картада қайталанатын барлық циклдерге қолданылады.
Bootstrap 4 құрастырылған CSS-де шамамен екі ондаған CSS теңшелетін қасиеттерін (айнымалылар) қамтиды . Бұл шолғыштың инспекторында, код құм жәшігінде немесе жалпы прототипте жұмыс істегенде тақырып түстері, тоқтау нүктелері және негізгі қаріп стектері сияқты жиі қолданылатын мәндерге оңай қол жеткізуді қамтамасыз етеді.
Міне, біз қосатын айнымалы мәндер ( :root
қажет екенін ескеріңіз). Олар біздің файлымызда орналасқан _root.scss
.
CSS айнымалылары Sass айнымалыларына ұқсас икемділікті ұсынады, бірақ браузерге қызмет көрсету алдында компиляция қажет емес. Мысалы, мұнда біз CSS айнымалылары бар беттің қаріпі мен сілтеме мәнерлерін қалпына келтіреміз.
Біз бастапқыда тоқтау нүктелерін CSS айнымалыларымызға қосқанымызбен (мысалы, --breakpoint-md
), оларға мультимедиа сұрауларында қолдау көрсетілмейді , бірақ оларды әлі де медиа сұрауларындағы ережелер жиынында пайдалануға болады . Бұл тоқтау нүктесінің айнымалы мәндері JavaScript арқылы пайдалануға болатындықтан, кері үйлесімділік үшін құрастырылған CSS-де қалады. Толығырақ спецификациядан біліңіз.
Қолдамайтын нәрсенің мысалы :
Мұнда қолдау көрсетілетін нәрсенің мысалы келтірілген :