Тэматызацыя Bootstrap
Наладзьце Bootstrap 4 з дапамогай нашых новых убудаваных зменных Sass для глабальных налад стылю для лёгкай змены тэмаў і кампанентаў.
У Bootstrap 3 тэматызацыя ў асноўным абумоўлівалася перавызначэннем зменных у LESS, карыстальніцкім CSS і асобнай табліцай стыляў тэмы, якую мы ўключылі ў нашы dist
файлы. Прыклаўшы пэўныя намаганні, можна цалкам перарабіць знешні выгляд Bootstrap 3, не закранаючы асноўныя файлы. Bootstrap 4 забяспечвае знаёмы, але крыху іншы падыход.
Цяпер тэматычная тэматыка выконваецца з дапамогай зменных Sass, карт Sass і карыстальніцкага CSS. Няма больш спецыяльнай табліцы стыляў тэмы; замест гэтага вы можаце ўключыць убудаваную тэму, каб дадаць градыенты, цені і многае іншае.
Выкарыстоўвайце нашы зыходныя файлы Sass, каб скарыстацца перавагамі зменных, карт, міксінаў і іншага.
Па магчымасці пазбягайце змены асноўных файлаў Bootstrap. Для Sass гэта азначае стварэнне ўласнай табліцы стыляў, якая імпартуе Bootstrap, каб вы маглі яе змяняць і пашыраць. Мяркуючы, што вы выкарыстоўваеце мэнэджар пакетаў, напрыклад npm, у вас будзе структура файла, якая выглядае так:
Калі вы спампавалі нашы зыходныя файлы і не выкарыстоўваеце мэнэджар пакетаў, вы захочаце ўручную наладзіць нешта падобнае да гэтай структуры, захоўваючы зыходныя файлы Bootstrap асобна ад вашых уласных.
У свой custom.scss
файл вы імпартуеце зыходныя файлы Sass Bootstrap. У вас ёсць два варыянты: уключыць увесь Bootstrap або выбраць неабходныя часткі. Мы заахвочваем апошняе, хоць майце на ўвазе, што ёсць некаторыя патрабаванні і залежнасці паміж нашымі кампанентамі. Вам таксама трэба будзе ўключыць некаторыя JavaScript для нашых плагінаў.
З такімі наладамі вы можаце пачаць змяняць любыя зменныя Sass і карты ў вашым custom.scss
. Вы таксама можаце пачаць дадаваць часткі Bootstrap у // Optional
раздзел па меры неабходнасці. Мы прапануем выкарыстоўваць поўны стэк імпарту з нашага bootstrap.scss
файла ў якасці адпраўной кропкі.
Кожная зменная Sass у Bootstrap 4 уключае !default
сцяг, які дазваляе вам перавызначыць значэнне зменнай па змаўчанні ў вашым уласным Sass без змены зыходнага кода Bootstrap. Скапіруйце і ўстаўце зменныя пры неабходнасці, змяніце іх значэнні і выдаліце !default
сцяг. Калі зменная ўжо была прызначаная, яна не будзе паўторна прысвоена значэннямі па змаўчанні ў Bootstrap.
Перавызначэнне зменных у адным файле Sass можа быць перад або пасля зменных па змаўчанні. Аднак пры перавызначэнні файлаў Sass вашыя перавызначэнні павінны адбывацца перад імпартам файлаў Sass Bootstrap.
Вось прыклад, які змяняе background-color
і color
для <body>
пры імпарце і кампіляцыі Bootstrap праз npm:
Паўтарыце пры неабходнасці для любой зменнай у 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
, і для спасылак, кнопак і станаў формы. Замена значэнняў гэтых ключоў не павінна выклікаць праблем, але іх выдаленне можа выклікаць праблемы пры кампіляцыі Sass. У гэтых выпадках вам трэба будзе змяніць код Sass, які выкарыстоўвае гэтыя значэнні.danger
$theme-colors
Bootstrap выкарыстоўвае некалькі функцый Sass, але толькі некаторыя з іх прымяняюцца да агульнай тэматыкі. Мы ўключылі тры функцыі для атрымання значэнняў з каляровых карт:
Яны дазваляюць выбраць адзін колер з карты Sass, падобна таму, як вы выкарыстоўвалі б зменную колеру з v3.
У нас таксама ёсць іншая функцыя для атрымання пэўнага ўзроўню колеру з $theme-colors
карты. Адмоўныя значэнні ўзроўню асвятляюць колер, а больш высокія - цямнеюць.
На практыцы вы выклікаеце функцыю і перадаеце два параметры: імя колеру з $theme-colors
(напрыклад, асноўны або небяспека) і лікавы ўзровень.
Дадатковыя функцыі могуць быць дададзены ў будучыні або ваш уласны карыстальніцкі Sass для стварэння функцый узроўняў для дадатковых карт Sass, або нават агульная, калі вы хочаце быць больш падрабязным.
Яшчэ адна функцыя, якую мы ўключаем у Bootstrap, - гэта функцыя каляровага кантрасту color-yiq
. Ён выкарыстоўвае каляровую прастору YIQ для аўтаматычнага вяртання светлага ( #fff
) або цёмнага ( #111
) кантраснага колеру на аснове вызначанага базавага колеру. Гэтая функцыя асабліва карысная для міксінаў або цыклаў, дзе вы ствараеце некалькі класаў.
Напрыклад, каб стварыць узоры колеру з нашай $theme-colors
карты:
Ён таксама можа быць выкарыстаны для аднаразовых кантрасных патрэб:
Вы таксама можаце вызначыць базавы колер з дапамогай нашых функцый каляровай карты:
Наладзьце Bootstrap 4 з дапамогай нашага ўбудаванага файла карыстальніцкіх зменных і лёгка пераключайце глабальныя налады CSS з дапамогай новых $enable-*
зменных Sass. Перавызначыць значэнне зменнай і пры npm run test
неабходнасці перакампіляваць.
Вы можаце знайсці і наладзіць гэтыя зменныя для ключавых глабальных параметраў у нашым _variables.scss
файле.
Пераменная | Каштоўнасці | Апісанне |
---|---|---|
$spacer |
1rem (па змаўчанні) або любое значэнне > 0 |
Вызначае значэнне пракладкі па змаўчанні для праграмнага стварэння нашых утыліт распоркі . |
$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 і карта Sass у нашым scss/_variables.scss
файле. Гэта будзе пашырана ў наступных нязначных выпусках, каб дадаць дадатковыя адценні, вельмі падобна на палітру адценняў шэрага , якую мы ўжо ўключылі.
Вось як вы можаце выкарыстоўваць іх у сваім Sass:
Карысныя класы колеру таксама даступныя для налады color
і background-color
.
У будучыні мы будзем імкнуцца прадастаўляць карты і зменныя Sass для адценняў кожнага колеру, як мы зрабілі з колерамі адценняў шэрага ніжэй.
Мы выкарыстоўваем падмноства ўсіх колераў для стварэння меншай каляровай палітры для стварэння каляровых схем, таксама даступных у якасці зменных Sass і карты Sass у нашым scss/_variables.scss
файле.
Шырокі набор шэрых зменных і карта Sass scss/_variables.scss
для аднастайнасці адценняў шэрага ў вашым праекце.
Унутры _variables.scss
вы знойдзеце нашы каляровыя зменныя і карту Sass. Вось прыклад $colors
карты Sass:
Дадавайце, выдаляйце або змяняйце значэнні на карце, каб абнавіць спосаб іх выкарыстання ў многіх іншых кампанентах. На жаль, цяпер не кожны кампанент выкарыстоўвае гэтую карту Sass. Будучыя абнаўленні будуць імкнуцца палепшыць гэта. А пакуль плануйце выкарыстоўваць ${color}
зменныя і гэтую карту Sass.
Многія кампаненты і ўтыліты Bootstrap створаны з @each
цыкламі, якія перабіраюць карту Sass. Гэта асабліва карысна для генерацыі варыянтаў кампанента $theme-colors
і стварэння адаптыўных варыянтаў для кожнай кропкі супыну. Калі вы наладжваеце гэтыя карты Sass і перакампілюеце, вы аўтаматычна ўбачыце змены, адлюстраваныя ў гэтых цыклах.
Многія з кампанентаў Bootstrap створаны з выкарыстаннем базавага класа-мадыфікатара. Гэта азначае, што асноўная частка стыляў змяшчаецца ў базавым класе (напрыклад, .btn
), у той час як варыянты стыляў абмяжоўваюцца класамі-мадыфікатарамі (напрыклад, .btn-danger
). Гэтыя класы-мадыфікатары створаны з $theme-colors
карты, каб наладзіць колькасць і назву нашых класаў-мадыфікатараў.
Вось два прыклады таго, як мы перабіраем $theme-colors
карту, каб стварыць мадыфікатары для .alert
кампанента і ўсіх нашых .bg-*
фонавых утыліт.
Гэтыя цыклы Sass таксама не абмяжоўваюцца каляровымі картамі. Вы таксама можаце стварыць адаптыўныя варыянты вашых кампанентаў або ўтыліт. Возьмем, напрыклад, нашы адаптыўныя ўтыліты выраўноўвання тэксту, дзе мы змешваем @each
цыкл для $grid-breakpoints
карты Sass з медыя-запытам.
Калі вам спатрэбіцца змяніць $grid-breakpoints
, вашы змены будуць прымяняцца да ўсіх цыклаў, якія выконваюцца па гэтай карце.
Bootstrap 4 уключае ў свой скампіляваны CSS каля двух дзясяткаў карыстацкіх уласцівасцей (зменных) CSS. Яны забяспечваюць лёгкі доступ да часта выкарыстоўваных значэнняў, такіх як колеры нашай тэмы, кропкі разрыву і асноўныя стэкі шрыфтоў пры працы ў інспектары вашага браўзера, пясочніцы кода або агульным прататыпаванні.
Вось зменныя, якія мы ўключаем (звярніце ўвагу, :root
што абавязковы). Яны знаходзяцца ў нашым _root.scss
файле.
Зменныя CSS забяспечваюць такую ж гібкасць, як і зменныя Sass, але без неабходнасці кампіляцыі перад тым, як іх падаваць у браўзер. Напрыклад, тут мы скідаем шрыфт нашай старонкі і стылі спасылак з дапамогай зменных CSS.
Вы таксама можаце выкарыстоўваць нашы зменныя пункту прыпынку ў сваіх медыя-запытах: