Theming Bootstrap
ប្ដូរ Bootstrap 4 តាមបំណងជាមួយនឹងអថេរ Sass ដែលភ្ជាប់មកជាមួយថ្មីរបស់យើងសម្រាប់ចំណូលចិត្តរចនាប័ទ្មសកលសម្រាប់ការផ្លាស់ប្តូររូបរាង និងសមាសធាតុងាយស្រួល។
នៅក្នុង Bootstrap 3 រូបរាងត្រូវបានជំរុញយ៉ាងច្រើនដោយការបដិសេធអថេរនៅក្នុង LESS, CSS ផ្ទាល់ខ្លួន និងសន្លឹករចនាប័ទ្មស្បែកដាច់ដោយឡែកដែលយើងបានរួមបញ្ចូលនៅក្នុង dist
ឯកសាររបស់យើង។ ជាមួយនឹងការខិតខំប្រឹងប្រែងខ្លះ មនុស្សម្នាក់អាចរចនារូបរាងឡើងវិញទាំងស្រុងរបស់ Bootstrap 3 ដោយមិនចាំបាច់ប៉ះឯកសារស្នូល។ Bootstrap 4 ផ្តល់នូវវិធីសាស្រ្តដែលធ្លាប់ស្គាល់ ប៉ុន្តែខុសគ្នាបន្តិចបន្តួច។
ឥឡូវនេះ ការរៀបចំត្រូវបានសម្រេចដោយ Sass variables ផែនទី 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 ទេ។
អ្នកនឹងឃើញបញ្ជីពេញលេញនៃអថេររបស់ Bootstrap នៅក្នុង scss/_variables.scss
.
ការបដិសេធអថេរនៅក្នុងឯកសារ 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 maps ដូចដែលយើងបានប្រើ និងពង្រីកវាដោយខ្លួនឯង។ នៅពេលអ្នកប្ដូរផែនទីដែលបានរួមបញ្ចូលតាមបំណង អ្នកអាចជួបប្រទះនឹងបញ្ហាដែលគន្លឹះនៃផែនទី Sass ជាក់លាក់មួយកំពុងត្រូវបានប្រើប្រាស់។
ឧទាហរណ៍ យើងប្រើ គ្រាប់ចុច , និងពី primary
សម្រាប់ success
តំណ ប៊ូតុង និងស្ថា��ភាពទម្រង់។ ការជំនួសតម្លៃនៃសោទាំងនេះមិនគួរបង្ហាញបញ្ហានោះទេ ប៉ុន្តែការដកវាចេញអាចបណ្តាលឱ្យមានបញ្ហាក្នុងការចងក្រង Sass ។ នៅក្នុងករណីទាំងនេះ អ្នកនឹងត្រូវកែប្រែកូដ Sass ដែលប្រើតម្លៃទាំងនោះ។danger
$theme-colors
Bootstrap ប្រើប្រាស់មុខងារ Sass ជាច្រើន ប៉ុន្តែមានតែសំណុំរងមួយប៉ុណ្ណោះដែលអាចអនុវត្តបានចំពោះមុខងារទូទៅ។ យើងបានរួមបញ្ចូលមុខងារបីសម្រាប់ការទទួលបានតម្លៃពីផែនទីពណ៌៖
ទាំងនេះអនុញ្ញាតឱ្យអ្នកជ្រើសរើសពណ៌មួយពីផែនទី Sass ដូចជារបៀបដែលអ្នកចង់ប្រើអថេរពណ៌ពី v3 ។
យើងក៏មានមុខងារមួយទៀតសម្រាប់ការទទួលបាន កម្រិត ពណ៌ជាក់លាក់មួយពី $theme-colors
ផែនទី។ តម្លៃកម្រិតអវិជ្ជមាននឹងធ្វើឱ្យពណ៌ស្រាល ខណៈកម្រិតខ្ពស់នឹងងងឹត។
នៅក្នុងការអនុវត្ត អ្នកនឹងហៅមុខងារ និងឆ្លងកាត់ក្នុងប៉ារ៉ាម៉ែត្រពីរ៖ ឈ្មោះពណ៌ពី $theme-colors
(ឧទាហរណ៍ បឋម ឬគ្រោះថ្នាក់) និងកម្រិតលេខ។
មុខងារបន្ថែមអាចត្រូវបានបន្ថែមនៅពេលអនាគត ឬ Sass ផ្ទាល់ខ្លួនរបស់អ្នក ដើម្បីបង្កើតមុខងារកម្រិតសម្រាប់ផែនទី Sass បន្ថែម ឬសូម្បីតែមុខងារទូទៅមួយ ប្រសិនបើអ្នកចង់និយាយច្រើន
មុខងារបន្ថែមមួយដែលយើងបញ្ចូលក្នុង Bootstrap គឺមុខងារកម្រិតពណ៌ color-yiq
។ វាប្រើ ចន្លោះពណ៌ YIQ ដើម្បីត្រឡប់ពណ៌ពន្លឺ ( #fff
) ឬងងឹត ( #111
) ដោយស្វ័យប្រវត្តិ ដោយផ្អែកលើពណ៌មូលដ្ឋានដែលបានបញ្ជាក់។ មុខងារនេះមានប្រយោជន៍ជាពិសេសសម្រាប់ mixins ឬ loops ដែលអ្នកកំពុងបង្កើត class ច្រើន។
ឧទាហរណ៍ ដើម្បីបង្កើតការគូសពណ៌ពី $theme-colors
ផែនទីរបស់យើង៖
វាក៏អាចត្រូវបានប្រើសម្រាប់តម្រូវការកម្រិតពណ៌តែមួយ៖
អ្នកក៏អាចបញ្ជាក់ពណ៌មូលដ្ឋានជាមួយនឹងមុខងារផែនទីពណ៌របស់យើងផងដែរ៖
ប្ដូរ Bootstrap 4 តាមបំណងជាមួយនឹងឯកសារអថេរផ្ទាល់ខ្លួនដែលភ្ជាប់មកជាមួយរបស់យើង ហើយបិទបើកចំណូលចិត្ត CSS សកលយ៉ាងងាយស្រួលជាមួយនឹង $enable-*
អថេរ Sass ថ្មី។ បដិសេធតម្លៃអថេរ និងចងក្រងឡើងវិញ npm run test
តាមតម្រូវការ។
scss/_variables.scss
អ្នកអាចស្វែងរក និងប្ដូរអថេរទាំងនេះតាមបំណងសម្រាប់ជម្រើសសកលសំខាន់ៗនៅក្នុង ឯកសារ របស់ Bootstrap ។
អថេរ | តម្លៃ | ការពិពណ៌នា |
---|---|---|
$spacer |
1rem (លំនាំដើម) ឬតម្លៃណាមួយ > 0 |
បញ្ជាក់តម្លៃ spacer លំនាំដើមដើម្បីបង្កើតកម្មវិធី spacer utilities របស់យើង ។ |
$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 |
បើកដំណើរការ pseudo element caret នៅលើ .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
ឯកសាររបស់ Bootstraps ។
សំណុំនៃអថេរប្រផេះដ៏ធំទូលាយ និងផែនទី Sass scss/_variables.scss
សម្រាប់ស្រមោលពណ៌ប្រផេះជាប់គ្នានៅទូទាំងគម្រោងរបស់អ្នក។
នៅខាងក្នុង 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 ទាំងនេះមិនត្រូវបានកំណត់ចំពោះផែនទីពណ៌ទេ។ អ្នកក៏អាចបង្កើតការប្រែប្រួលឆ្លើយតបនៃសមាសធាតុ ឬឧបករណ៍ប្រើប្រាស់របស់អ្នកផងដែរ។ យកឧទាហរណ៍ឧបករណ៍តម្រឹមអត្ថបទដែលឆ្លើយតបរបស់យើងដែលយើងលាយ @each
រង្វិលជុំសម្រាប់ $grid-breakpoints
ផែនទី Sass ជាមួយនឹងសំណួរប្រព័ន្ធផ្សព្វផ្សាយរួមបញ្ចូល។
ប្រសិនបើអ្នកត្រូវការកែប្រែរបស់ $grid-breakpoints
អ្នក ការផ្លាស់ប្តូររបស់អ្នកនឹងអនុវត្តចំពោះរង្វិលជុំទាំងអស់ដែលធ្វើម្តងទៀតនៅលើផែនទីនោះ។
Bootstrap 4 រួមបញ្ចូលនូវ លក្ខណៈសម្បត្តិផ្ទាល់ខ្លួន CSS (អថេរ) ប្រហែលពីរ នៅក្នុង CSS ដែលបានចងក្រងរបស់វា។ ទាំងនេះផ្តល់ភាពងាយស្រួលដល់តម្លៃដែលប្រើជាទូទៅដូចជាពណ៌ស្បែក ចំណុចបំបែក និងជង់ពុម្ពអក្សរចម្បងរបស់យើង នៅពេលធ្វើការនៅក្នុង Inspector នៃកម្មវិធីរុករករបស់អ្នក ប្រអប់ខ្សាច់កូដ ឬគំរូទូទៅ។
នេះគឺជាអថេរដែលយើងរួមបញ្ចូល (ចំណាំថា :root
ត្រូវបានទាមទារ)។ ពួកវាមានទីតាំងនៅក្នុង _root.scss
ឯកសាររបស់យើង។
អថេរ CSS ផ្តល់ភាពបត់បែនស្រដៀងគ្នាទៅនឹងអថេររបស់ Sass ប៉ុន្តែដោយមិនចាំបាច់មានការចងក្រងមុនពេលបម្រើដល់កម្មវិធីរុករក។ ជាឧទាហរណ៍ នៅទីនេះយើងកំពុងកំណត់រចនាប័ទ្មពុម្ពអក្សររបស់ទំព័ររបស់យើងឡើងវិញ និងរចនាប័ទ្មតំណជាមួយនឹងអថេរ CSS ។
ខណៈពេលដែលយើងបានដាក់បញ្ចូលចំណុចឈប់នៅក្នុងអថេរ CSS របស់យើង (ឧ។ --breakpoint-md
) ទាំងនេះមិនត្រូវបានគាំទ្រនៅក្នុងសំណួរមេឌៀ ទេ ប៉ុន្តែពួកវានៅតែអាចប្រើ នៅក្នុង សំណុំក្បួននៅក្នុងសំណួរមេឌៀ។ អថេរ breakpoint ទាំងនេះនៅតែមាននៅក្នុង CSS ដែលបានចងក្រងសម្រាប់ភាពឆបគ្នាថយក្រោយដែលបានផ្តល់ឱ្យពួកគេអាចប្រើប្រាស់ដោយ JavaScript ។ ស្វែងយល់បន្ថែមនៅក្នុង spec ។
នេះជាឧទាហរណ៍នៃ អ្វីដែលមិនត្រូវបានគាំទ្រ៖
ហើយនេះគឺជាឧទាហរណ៍នៃ អ្វីដែលត្រូវបានគាំទ្រ៖