Theming 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
and عند استيراد Bootstrap وتجميعه عبر npm: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
و و و من للروابط والأزرار وحالات النموذج. يجب ألا يؤدي استبدال قيم هذه المفاتيح إلى حدوث مشكلات ، ولكن قد تتسبب إزالتها في حدوث مشكلات في تجميع 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.
يمكنك أيضًا استخدام متغيرات نقطة التوقف الخاصة بنا في استعلامات الوسائط الخاصة بك: