Theming Bootstrap
اسان جي نئين بلٽ ان Sass متغيرن سان بوٽ اسٽريپ 4 کي ڪسٽمائيز ڪريو عالمي طرز جي ترجيحن لاءِ آسان موضوعن ۽ جزن جي تبديلين لاءِ.
Bootstrap 3 ۾، موضوع گهڻو ڪري LESS، ڪسٽم CSS، ۽ هڪ الڳ موضوع واري اسٽائل شيٽ ۾ متغير اوور رائڊز ذريعي هلائي وئي جيڪا اسان اسان جي dist
فائلن ۾ شامل ڪئي. ڪجھ ڪوششن سان، ھڪڙي بنيادي فائلن کي ڇھڻ کان سواء بوٽ اسٽراپ 3 جي نظر کي مڪمل طور تي تبديل ڪري سگھي ٿو. Bootstrap 4 هڪ واقف، پر ٿورڙو مختلف طريقو مهيا ڪري ٿو.
هاڻي، موضوع ساس متغيرن، ساس نقشن، ۽ ڪسٽم CSS پاران مڪمل ڪيو ويو آهي. ڪابه وڌيڪ وقف ٿيل موضوع اسٽائل شيٽ ناهي؛ بجاءِ، توھان چالو ڪري سگھوٿا بلٽ ان ٿيم کي شامل ڪرڻ لاءِ گريڊيئينٽ، شيڊز ۽ وڌيڪ.
اسان جو ذريعو استعمال ڪريو Sass فائلون متغيرن، نقشن، ميڪسينز، ۽ وڌيڪ مان فائدو وٺڻ لاء.
جڏهن به ممڪن هجي، بوٽ اسٽراپ جي بنيادي فائلن کي تبديل ڪرڻ کان پاسو ڪريو. ساس لاءِ، ان جو مطلب آهي توهان جي پنهنجي اسٽائل شيٽ ٺاهڻ جيڪا بوٽ اسٽريپ درآمد ڪري ٿي ته جيئن توهان ان کي تبديل ۽ وڌائي سگهو. فرض ڪيو ته توهان استعمال ڪري رهيا آهيو هڪ پيڪيج مئنيجر جهڙوڪ npm، توهان وٽ هوندو هڪ فائيل ڍانچي جيڪو هن جهڙو نظر اچي ٿو:
جيڪڏهن توهان اسان جون ماخذ فائلون ڊائون لوڊ ڪيون آهن ۽ پيڪيج مئنيجر استعمال نه ڪري رهيا آهيو، توهان چاهيو ٿا ته دستي طور تي ان ڍانچي سان ڪجهه ملندڙ جلندڙ سيٽ اپ ڪريو، بوٽ اسٽريپ جي ماخذ فائلن کي پنهنجي پاڻ کان الڳ رکندي.
توھان ۾ custom.scss
، توھان درآمد ڪندا Bootstrap جو ذريعو Sass فائلون. توھان وٽ ٻه اختيار آھن: شامل ڪريو سڀ بوٽ اسٽريپ، يا انھن حصن کي چونڊيو جيڪي توھان جي ضرورت آھي. اسان بعد ۾ حوصلا افزائي ڪريون ٿا، جيتوڻيڪ ڄاڻو ته اسان جي اجزاء ۾ ڪجهه گهربل ۽ انحصار آهن. توھان کي اسان جي پلگ ان لاءِ ڪجھ جاوا اسڪرپٽ پڻ شامل ڪرڻ جي ضرورت پوندي.
انهي سيٽ اپ سان گڏ، توهان شروع ڪري سگهو ٿا ڪنهن به Sass متغير ۽ نقشن کي توهان جي custom.scss
. توھان پڻ شروع ڪري سگھوٿا بوٽ اسٽراپ جا حصا شامل ڪرڻ لاءِ // Optional
سيڪشن جي تحت ضرورت مطابق. اسان توهان جي شروعاتي نقطي طور اسان جي bootstrap.scss
فائل مان مڪمل درآمد اسٽيڪ استعمال ڪرڻ جي صلاح ڏيو ٿا.
Bootstrap 4 ۾ ھر Sass variable ۾ جھنڊو شامل آھي !default
توھان کي اجازت ڏئي ٿو ته توھان جي پنھنجي Sass ۾ متغير جي ڊفالٽ قيمت کي تبديل ڪرڻ جي بغير بوٽ اسٽريپ جي سورس ڪوڊ کي تبديل ڪرڻ جي. ڪاپي ۽ پيسٽ ڪريو متغيرات جي ضرورت مطابق، انهن جي قيمتن کي تبديل ڪريو، ۽ !default
پرچم کي هٽايو. جيڪڏهن هڪ متغير اڳ ۾ ئي تفويض ڪيو ويو آهي، پوء اهو بوٽ اسٽراپ ۾ ڊفالٽ ويلز طرفان ٻيهر تفويض نه ڪيو ويندو.
توھان کي Bootstrap جي متغيرن جي مڪمل فهرست ملندي scss/_variables.scss
.
ساڳئي Sass فائل ۾ متغير اوور رائڊز ڊفالٽ متغيرن کان اڳ يا بعد ۾ اچي سگھن ٿا. تنهن هوندي، جڏهن Sass فائلن تي اوور رائيڊ ڪيو وڃي، توهان جي اووررائڊز ضرور اچڻ گهرجن ان کان اڳ جو توهان Bootstrap جي Sass فائلن کي درآمد ڪريو.
هتي هڪ مثال آهي جيڪو تبديل ڪري ٿو background-color
۽ color
ان لاءِ <body>
جڏهن بوٽ اسٽريپ کي npm ذريعي درآمد ۽ مرتب ڪرڻ:
Bootstrap ۾ ڪنهن به متغير لاءِ ضروري طور تي ورجايو، بشمول هيٺ ڏنل عالمي اختيارن.
Bootstrap 4 ۾ شامل آھن ھٿن Sass نقشا، اھم قدر جوڙو جيڪي لاڳاپيل CSS جي خاندانن کي پيدا ڪرڻ آسان بڻائين ٿا. اسان استعمال ڪريون ٿا ساس نقشا اسان جي رنگن لاءِ، گرڊ بريڪ پوائنٽس، ۽ وڌيڪ. بس ساس متغير وانگر، سڀني ساس نقشن ۾ !default
پرچم شامل آهي ۽ ختم ڪري سگھجي ٿو ۽ وڌايو وڃي ٿو.
اسان جا ڪجھ ساس نقشا ڊفالٽ طور خالي ٿيلن ۾ ضم ٿيل آھن. اهو ڪيو ويو آهي هڪ ڏنل ساس نقشي جي آسان توسيع جي اجازت ڏيڻ لاءِ، پر قيمت تي اچي ٿو هڪ نقشي مان شيون هٽائڻ کي ٿورو وڌيڪ ڏکيو.
اسان جي $theme-colors
نقشي ۾ موجود رنگ کي تبديل ڪرڻ لاءِ، ھيٺين کي پنھنجي ڪسٽم Sass فائل ۾ شامل ڪريو:
۾ نئون رنگ $theme-colors
شامل ڪرڻ لاءِ، نئين ڪي ۽ قدر شامل ڪريو:
يا ڪنهن ٻئي نقشي مان رنگ هٽائڻ لاءِ $theme-colors
، استعمال ڪريو map-remove
. آگاهه رهو ته توهان ان کي اسان جي گهرجن ۽ اختيارن جي وچ ۾ داخل ڪرڻ گهرجي:
بوٽ اسٽريپ ساس نقشن ۾ ڪجهه مخصوص ڪنجين جي موجودگي کي فرض ڪري ٿو جيئن اسان استعمال ڪيو ۽ پاڻ کي وڌايو. جيئن ته توهان شامل ڪيل نقشن کي ترتيب ڏيو ٿا، توهان شايد غلطين کي منهن ڏئي سگهون ٿا جتي هڪ مخصوص Sass نقشي جي ڪنجي استعمال ڪئي پئي وڃي.
مثال طور، اسان استعمال ڪندا آهيون primary
, success
, and danger
key from from $theme-colors
links, buttons, and form states. انهن ڪنجين جي قدرن کي تبديل ڪرڻ سان ڪوبه مسئلو نه هجڻ گهرجي، پر انهن کي هٽائڻ سان ساس تاليف جا مسئلا ٿي سگهن ٿا. انهن مثالن ۾، توهان کي Sass ڪوڊ کي تبديل ڪرڻ جي ضرورت پوندي جيڪا انهن قدرن کي استعمال ڪري ٿي.
بوٽ اسٽريپ ڪيترن ئي Sass افعال کي استعمال ڪري ٿو، پر صرف هڪ ذيلي سيٽ عام موضوع تي لاڳو ٿئي ٿو. اسان رنگن جي نقشن مان قدر حاصل ڪرڻ لاءِ ٽي ڪم شامل ڪيا آھن:
اهي توهان کي اجازت ڏين ٿا هڪ رنگ چونڊيو ساس نقشي مان گهڻو ڪري توهان ڪيئن استعمال ڪندا آهيو رنگ متغير مان v3.
اسان وٽ هڪ ٻيو فنڪشن پڻ آهي نقشي مان رنگ جي هڪ خاص سطح حاصل ڪرڻ لاءِ. $theme-colors
ناڪاري سطح جا قدر رنگ کي روشن ڪندا، جڏهن ته اعليٰ سطحون اونداهو ٿي وينديون.
عملي طور تي، توهان فنڪشن کي ڪال ڪندا ۽ ٻن پيٽرولن ۾ پاس ڪندا: رنگ جو نالو $theme-colors
(مثال طور، پرائمري يا خطرو) ۽ هڪ عددي سطح.
اضافي افعال شامل ٿي سگھن ٿا مستقبل ۾ يا توھان جي پنھنجي مرضي مطابق Sass اضافي Sass نقشن لاءِ ليول افعال ٺاھڻ لاءِ، يا ھڪڙو عام ھڪڙو جيڪڏھن توھان چاھيو ٿا ته وڌيڪ لفظي.
ھڪڙو اضافي فنڪشن جيڪو اسان بوٽ اسٽراپ ۾ شامل آھي اھو آھي رنگ برعڪس فنڪشن، color-yiq
. اهو YIQ رنگ جي جڳهه کي استعمال ڪري ٿو خودڪار طور تي مخصوص بنيادي رنگ جي بنياد تي روشني ( #fff
) يا ڳاڙهو ( ) برعڪس رنگ واپس ڪرڻ لاء. #111
هي فنڪشن خاص طور تي ڪارائتو آهي mixins يا loops لاءِ جتي توهان ڪيترائي ڪلاس ٺاهي رهيا آهيو.
$theme-colors
مثال طور، اسان جي نقشي مان رنگن جا نمونا ٺاهڻ لاءِ :
اهو پڻ استعمال ڪري سگهجي ٿو هڪ بند جي ابتڙ ضرورتن لاءِ:
توھان پڻ بيان ڪري سگھو ٿا بنيادي رنگ اسان جي رنگ نقشي جي ڪمن سان:
Bootstrap 4 کي اسان جي بلٽ ان ڪسٽم متغير فائل سان ترتيب ڏيو ۽ آساني سان عالمي CSS ترجيحن کي نئين $enable-*
Sass متغيرن سان ٽوگل ڪريو. هڪ متغير جي قيمت کي ختم ڪريو ۽ npm run test
ضرورت مطابق ٻيهر گڏ ڪريو.
توھان ڳولي سگھوٿا ۽ انھن متغيرن کي ڪھڙي عالمي اختيارن لاءِ Bootstrap جي scss/_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 |
گرڊ سسٽم لاءِ سي ايس ايس ڪلاس جي نسل کي فعال ڪري ٿو (مثال طور، .container , , .row , .col-md-1 , etc.). |
$enable-caret |
true (ڊفالٽ) ياfalse |
pseudo عنصر ڪيريٽ کي فعال ڪري ٿو .dropdown-toggle . |
$enable-print-styles |
true (ڊفالٽ) ياfalse |
پرنٽنگ کي بهتر ڪرڻ لاءِ اسلوب کي فعال ڪري ٿو. |
بوٽ اسٽريپ جا ڪيترائي مختلف جزا ۽ يوٽيلٽيز ٺاهيا ويا آهن رنگن جي هڪ سيريز ذريعي ساس نقشي ۾ بيان ڪيل. ھن نقشي کي لوپ ڪري سگھجي ٿو ساس ۾ تڪڙو ھڪڙو سلسلو پيدا ڪرڻ لاءِ.
Bootstrap 4 ۾ موجود سڀئي رنگ، موجود آهن Sass variables ۽ scss/_variables.scss
فائل ۾ Sass نقشي جي طور تي. ان کي وڌايو ويندو ايندڙ نابالغ رليزز ۾ اضافي رنگن کي شامل ڪرڻ لاءِ، گهڻو ڪري گريس اسڪيل پيلٽ وانگر جيڪو اسان اڳ ۾ ئي شامل ڪيو آهي.
ھتي آھي توھان پنھنجي ساس ۾ انھن کي ڪيئن استعمال ڪري سگھو ٿا:
رنگ يوٽيلٽي ڪلاس پڻ سيٽنگ color
۽ background-color
.
مستقبل ۾، اسان مقصد ڏينداسين Sass نقشا ۽ ھر رنگ جي ڇانو لاءِ متغيرات جيئن اسان ھيٺ ڏنل گريسڪيل رنگن سان ڪيو آھي.
اسان رنگن جي اسڪيمن ٺاهڻ لاءِ ننڍڙا رنگ پيلٽ ٺاهڻ لاءِ سڀني رنگن جو هڪ ذيلي سيٽ استعمال ڪندا آهيون، ساس متغير ۽ بوٽ اسٽريپ جي scss/_variables.scss
فائل ۾ ساس نقشي جي طور تي پڻ موجود آهي.
گرين متغيرن جو هڪ وسيع سيٽ ۽ هڪ ساس نقشو scss/_variables.scss
توهان جي پروجيڪٽ ۾ گرين جي مسلسل رنگن لاءِ.
اندر scss/_variables.scss
، توهان کي بوٽ اسٽريپ جا رنگ متغير ۽ ساس نقشو ملندا. $colors
هتي ساس نقشي جو هڪ مثال آهي :
نقشي ۾ شامل ڪريو، ھٽايو، يا تبديل ڪريو قدرن کي اپڊيٽ ڪرڻ لاءِ ته اھي ڪيئن استعمال ٿين ٿا ٻين ڪيترن ئي حصن ۾. بدقسمتي سان هن وقت، هر جزو هن ساس نقشي کي استعمال نٿو ڪري. مستقبل ۾ تازه ڪاريون هن کي بهتر ڪرڻ جي ڪوشش ڪندا. ان وقت تائين، متغيرن جي استعمال تي منصوبو ٺاهيو ${color}
۽ هن ساس نقشي.
بوٽ اسٽريپ جا ڪيترائي حصا ۽ افاديتون @each
لوپ سان ٺهيل آهن جيڪي هڪ ساس نقشي تي ٻيهر ورجائيندا آهن. اهو خاص طور تي مددگار آهي اسان جي طرفان هڪ جزو جي مختلف $theme-colors
قسمن کي پيدا ڪرڻ ۽ هر بريڪ پوائنٽ لاءِ جوابي مختلف قسمون ٺاهڻ. جيئن توهان انهن ساس نقشن کي ترتيب ڏيو ۽ ٻيهر گڏ ڪريو، توهان خودڪار طريقي سان ڏسندا ته توهان جون تبديليون انهن لوپس ۾ ظاهر ٿينديون.
بوٽ اسٽريپ جا ڪيترائي حصا بنيادي-موڊيفائر ڪلاس جي انداز سان ٺهيل آهن. هن جو مطلب آهي ته اسٽائل جو وڏو حصو هڪ بنيادي طبقي تي مشتمل آهي (مثال طور، .btn
) جڏهن ته انداز جي مختلف تبديلين کي تبديل ڪندڙ طبقن تائين محدود آهي (مثال طور، .btn-danger
). اهي موڊيفائر ڪلاس $theme-colors
نقشي مان ٺاهيا ويا آهن ته جيئن اسان جي موڊيفائر ڪلاسن جي تعداد ۽ نالو کي ترتيب ڏيو.
هتي ٻه مثال آهن ته ڪيئن اسان $theme-colors
نقشي تي لوپ ڪريون ٿا ماڊيفائرز کي .alert
جزو ۽ اسان جي سڀني .bg-*
پس منظر جي افاديت کي پيدا ڪرڻ لاءِ.
اهي ساس لوپ رنگن جي نقشن تائين محدود نه آهن، يا ته. توهان پڻ ٺاهي سگهو ٿا جوابي تبديليون توهان جي اجزاء يا افاديت جي. مثال طور وٺو اسان جي جوابي متن جي ترتيب واري افاديت جتي اسان ميڊيا جي سوال سان ساس نقشي @each
لاءِ لوپ گڏ ڪندا آهيون.$grid-breakpoints
جيڪڏھن توھان کي تبديل ڪرڻ جي ضرورت آھي پنھنجي $grid-breakpoints
, توھان جون تبديليون انھن سڀني لوپس تي لاڳو ٿينديون جيڪي نقشي تي ورجائي رھيا آھن.
Bootstrap 4 ان جي مرتب ڪيل CSS ۾ لڳ ڀڳ ٻه درجن CSS ڪسٽم پراپرٽيز (متغير) شامل آهن. اهي عام طور تي استعمال ٿيل قدرن تائين آسان رسائي فراهم ڪن ٿيون جهڙوڪ اسان جي موضوع جا رنگ، بريڪ پوائنٽس، ۽ بنيادي فونٽ اسٽيڪ جڏهن توهان جي برائوزر جي انسپيڪٽر، ڪوڊ سينڊ باڪس، يا عام پروٽو ٽائپنگ ۾ ڪم ڪري رهيا آهن.
هتي اهي متغير آهن جن ۾ اسان شامل آهيون (ياد رکو ته :root
گهربل آهي). اهي اسان جي _root.scss
فائل ۾ موجود آهن.
CSS متغير Sass جي متغيرن لاءِ ساڳي لچڪ پيش ڪن ٿا، پر برائوزر تي پيش ڪرڻ کان اڳ تاليف جي ضرورت کان سواءِ. مثال طور، هتي اسان پنهنجي صفحي جي فونٽ ۽ لنڪ اسلوب کي CSS متغيرن سان ري سيٽ ڪري رهيا آهيون.
جڏهن ته اسان اصل ۾ بريڪ پوائنٽس کي اسان جي CSS متغيرن ۾ شامل ڪيو آهي (مثال طور، --breakpoint-md
)، اهي ميڊيا سوالن ۾ سهڪار نه آهن ، پر اهي اڃا تائين ميڊيا جي سوالن ۾ ضابطن جي اندر استعمال ڪري سگهجن ٿيون. اهي بريڪ پوائنٽ متغير پسمانده مطابقت لاءِ مرتب ڪيل CSS ۾ رهن ٿا، انهن کي JavaScript ذريعي استعمال ڪري سگهجي ٿو. تفصيل ۾ وڌيڪ سکو.
هتي جو هڪ مثال آهي جنهن جي حمايت نه ڪئي وئي آهي:
۽ هتي جو هڪ مثال آهي جنهن جي حمايت ڪئي وئي آهي: