Тақырыптық жүктеу жолы
Тақырыптарды және құрамдас бөліктерді оңай өзгерту үшін жаһандық стиль таңдаулары үшін жаңа кірістірілген Sass айнымалыларымен Bootstrap 4-ті теңшеңіз.
Кіріспе
Bootstrap 3-те тақырып негізінен LESS ішіндегі айнымалыларды қайта анықтаумен, реттелетін CSS және dist
файлдарымызға енгізілген бөлек тақырыптық стильдер кестесімен негізделді. Біраз күш жұмсап, негізгі файлдарға қол тигізбестен Bootstrap 3 көрінісін толығымен қайта жасауға болады. Bootstrap 4 таныс, бірақ сәл өзгеше тәсілді ұсынады.
Енді тақырыпты Sass айнымалылары, Sass карталары және реттелетін CSS орындайды. Арнайы тақырыптық стильдер кестесі жоқ; оның орнына градиенттер, көлеңкелер және т.б. қосу үшін кірістірілген тақырыпты қосуға болады.
Сасс
Айнымалы мәндердің, карталардың, миксиндердің және т.б. мүмкіндіктерін пайдалану үшін бастапқы Sass файлдарын пайдаланыңыз. Браузерді дөңгелектеуге қатысты мәселелерді болдырмау үшін құрастыруымызда Sass дөңгелектеу дәлдігін 6-ға дейін арттырдық (әдепкі бойынша бұл 5).
Файл құрылымы
Мүмкіндігінше, 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
. Кейбір айнымалылар параметріне орнатылған null
, бұл айнымалылар конфигурацияңызда қайта анықталмағанша сипатты шығармайды.
Бір 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
картадан түс үлгілерін жасау үшін:
Оны бір реттік контраст қажеттіліктері үшін де пайдалануға болады:
Сондай-ақ, негізгі түсті біздің түсті карта функцияларымызбен көрсетуге болады:
Escape SVG
Біз SVG фондық кескіндер үшін , және таңбаларынан escape-svg
құтылу үшін функцияны қолданамыз. Фондық кескіндерді IE жүйесінде дұрыс көрсету үшін бұл таңбалардан құтылу керек.<
>
#
Қосу және азайту функциялары
CSS функциясын орау үшін add
және функцияларын қолданамыз . Бұл функциялардың негізгі мақсаты өрнекке «бірліксіз» мән берілген кезде қателерді болдырмау болып табылады . сияқты өрнектер математикалық тұрғыдан дұрыс болғанымен, барлық браузерлерде қатені қайтарады.subtract
calc
0
calc
calc(10px - 0)
Есеп жарамды болатын мысал:
Есеп жарамсыз болатын мысал:
Sass опциялары
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-prefers-reduced-motion-media-query |
true (әдепкі) немесеfalse |
Пайдаланушылардың шолғышына/амалдық жүйе қалауларына негізделген белгілі бір анимацияларды/өтулерді басатын prefers-reduced-motion медиа сұрауын қосады . |
$enable-hover-media-query |
true немесе false (әдепкі) |
Ескірген |
$enable-grid-classes |
true (әдепкі) немесеfalse |
Тор жүйесі үшін CSS сыныптарын құруды қосады (мысалы, .container , .row , .col-md-1 , т.б.). |
$enable-caret |
true (әдепкі) немесеfalse |
псевдоэлементтік каретканы қосады .dropdown-toggle . |
$enable-pointer-cursor-for-buttons |
true (әдепкі) немесеfalse |
Өшірілмеген түйме элементтеріне «қол» курсорын қосыңыз. |
$enable-print-styles |
true (әдепкі) немесеfalse |
Басып шығаруды оңтайландыру үшін мәнерлерді қосады. |
$enable-responsive-font-sizes |
true немесе false (әдепкі) |
Жауапты қаріп өлшемдерін қосады . |
$enable-validation-icons |
true (әдепкі) немесеfalse |
background-image Тексеру күйлері үшін мәтіндік енгізулердегі белгішелерді және кейбір реттелетін пішіндерді қосады . |
$enable-deprecation-messages |
true немесе false (әдепкі) |
true ішінде жойылуы жоспарланған ескірген араластырғыштар мен функциялардың кез келгенін пайдалану кезінде ескертулерді көрсету үшін орнатыңыз v5 . |
Түс
Bootstrap түрлі компоненттері мен утилиталарының көпшілігі Sass картасында анықталған түстер қатары арқылы жасалған. Бұл картаны бірнеше ережелер жиынын жылдам жасау үшін Sass жүйесінде айналдыруға болады.
Барлық түстер
Bootstrap 4 нұсқасында қол жетімді барлық түстер Sass айнымалылары және scss/_variables.scss
файлдағы Sass картасы ретінде қол жетімді. Бұл біз қосқан сұр реңк палитрасы сияқты қосымша реңктерді қосу үшін кейінгі шағын шығарылымдарда кеңейтіледі .
Оларды Sass-те қалай пайдалануға болады:
Түс утилитасының сыныптары да орнату үшін қол жетімді color
және background-color
.
Болашақта біз төмендегі сұр реңкті түстермен жасағандай, әр түстің реңктері үшін Sass карталары мен айнымалы мәндерін беруді мақсат етеміз.
Тақырып түстері
Түс схемаларын жасау үшін кішірек түстер палитрасын жасау үшін барлық түстердің жиынын қолданамыз, сонымен қатар Bootstrap 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
, өзгертулер сол картада қайталанатын барлық циклдерге қолданылады.
CSS айнымалылары
Bootstrap 4 құрастырылған CSS-де шамамен екі ондаған CSS теңшелетін қасиеттерін (айнымалылар) қамтиды . Бұл шолғыштың инспекторында, код құм жәшігінде немесе жалпы прототипте жұмыс істегенде тақырып түстері, тоқтау нүктелері және негізгі қаріп стектері сияқты жиі қолданылатын мәндерге оңай қол жеткізуді қамтамасыз етеді.
Қолжетімді айнымалылар
Міне, біз қосатын айнымалы мәндер ( :root
қажет екенін ескеріңіз). Олар біздің файлымызда орналасқан _root.scss
.
Мысалдар
CSS айнымалылары Sass айнымалыларына ұқсас икемділікті ұсынады, бірақ браузерге қызмет көрсету алдында компиляция қажет емес. Мысалы, мұнда біз CSS айнымалылары бар беттің қаріпі мен сілтеме мәнерлерін қалпына келтіреміз.
Үзіліс нүктесінің айнымалылары
Біз бастапқыда тоқтау нүктелерін CSS айнымалыларымызға қосқанымызбен (мысалы, --breakpoint-md
), оларға мультимедиа сұрауларында қолдау көрсетілмейді , бірақ оларды әлі де медиа сұрауларындағы ережелер жиынында пайдалануға болады . Бұл тоқтау нүктесінің айнымалы мәндері JavaScript арқылы пайдалануға болатындықтан, кері үйлесімділік үшін құрастырылған CSS-де қалады. Толығырақ спецификациядан біліңіз .
Қолдамайтын нәрсенің мысалы :
Мұнда қолдау көрсетілетін нәрсенің мысалы келтірілген :