الترحيل إلى الإصدار 4
يعد Bootstrap 4 إعادة كتابة رئيسية للمشروع بأكمله. تم تلخيص أبرز التغييرات أدناه ، تليها تغييرات أكثر تحديدًا للمكونات ذات الصلة.
تغييرات مستقرة
بالانتقال من الإصدار التجريبي 3 إلى الإصدار الثابت v4.x ، لا توجد تغييرات كسر ، ولكن هناك بعض التغييرات الملحوظة.
طباعة
-
أدوات طباعة مكسورة ثابتة. في السابق ، كان استخدام
.d-print-*
فئة ما يلغي بشكل غير متوقع أي.d-*
فئة أخرى. الآن ، تتطابق مع أدوات العرض الأخرى الخاصة بنا وتنطبق فقط على تلك الوسائط (@media print
). -
توسيع أدوات عرض الطباعة المتاحة لتلائم الأدوات الأخرى. بيتا 3 والأقدم فقط كان لديهم
block
وinline-block
وinline
وnone
. تمت إضافة مستقر v4flex
وinline-flex
وtable
وtable-row
وtable-cell
. -
تم إصلاح عرض معاينة الطباعة عبر المستعرضات باستخدام أنماط طباعة جديدة يتم تحديدها
@page
size
.
تغييرات بيتا 3
بينما شهدت Beta 2 الجزء الأكبر من التغييرات التي قمنا بها خلال المرحلة التجريبية ، إلا أنه لا يزال لدينا القليل من التغييرات التي يجب معالجتها في إصدار Beta 3. تنطبق هذه التغييرات إذا كنت تقوم بالتحديث إلى Beta 3 من Beta 2 أو أي إصدار أقدم من Bootstrap.
متفرقات
- تمت إزالة
$thumbnail-transition
المتغير غير المستخدم. لم نكن ننقل أي شيء ، لذلك كان مجرد رمز إضافي. - لم تعد حزمة npm تتضمن أي ملفات بخلاف ملفات المصدر وملفات التوزيع ؛ إذا كنت تعتمد عليها وتقوم بتشغيل البرامج النصية الخاصة بنا عبر
node_modules
المجلد ، فيجب عليك تعديل سير العمل الخاص بك.
نماذج
-
أعد كتابة كل من مربعات الاختيار وأجهزة الراديو المخصصة والافتراضية. الآن ، كلاهما له بنية HTML متطابقة (خارجي
<div>
مع شقيق<input>
و<label>
) ونفس أنماط التخطيط (افتراضي مكدس ، مضمّن مع فئة معدّل). يتيح لنا ذلك تصميم الملصق بناءً على حالة الإدخال ، وتبسيط دعمdisabled
السمة (التي كانت تتطلب سابقًا فئة أصل) ودعم التحقق من صحة النموذج بشكل أفضل.كجزء من هذا ، قمنا بتغيير CSS لإدارة العديد من
background-image
s في مربعات الاختيار وأجهزة الراديو ذات النماذج المخصصة. في السابق ،.custom-control-indicator
كان للعنصر الذي تمت إزالته الآن لون الخلفية والتدرج وأيقونة SVG. يعني تخصيص تدرج الخلفية استبدال كل هؤلاء في كل مرة تحتاج فيها إلى تغيير واحد فقط. الآن ، لدينا.custom-control-label::before
للتعبئة والتدرج والتعامل.custom-control-label::after
مع الرمز.لعمل فحص مخصص مضمنة ، أضف
.custom-control-inline
. -
المحدِّد المحدث لمجموعات الأزرار القائمة على الإدخال. بدلاً من
[data-toggle="buttons"] { }
الأسلوب والسلوك ، نستخدمdata
السمة فقط لسلوكيات JS ونعتمد على.btn-group-toggle
فئة جديدة للتصميم. -
تمت إزالته
.col-form-legend
لصالح تحسين طفيف.col-form-label
. بهذه الطريقة.col-form-label-sm
ويمكن.col-form-label-lg
استخدامها على<legend>
العناصر بكل سهولة. -
تلقت مدخلات الملفات المخصصة تغييرًا في
$custom-file-text
متغير Sass الخاص بهم. لم تعد خريطة Sass متداخلة وهي الآن تشغل سلسلة واحدة فقط —Browse
الزر حيث أصبح الآن العنصر الزائف الوحيد الذي تم إنشاؤه من Sass الخاص بنا. النصChoose file
يأتي الآن من.custom-file-label
.
مجموعات الإدخال
-
أصبحت الوظائف الإضافية لمجموعة الإدخال محددة الآن لموضعها بالنسبة إلى أحد المدخلات. لقد انسحبنا
.input-group-addon
من.input-group-btn
أجل فصلين جديدين ،.input-group-prepend
و.input-group-append
. يجب أن تستخدم بشكل صريح ملحقًا أو مقدمًا الآن ، مما يبسط الكثير من CSS لدينا. داخل ملحق أو مقدمة ، ضع الأزرار الخاصة بك كما لو كانت موجودة في أي مكان آخر ، ولكن قم بلف النص.input-group-text
. -
يتم الآن دعم أنماط التحقق من الصحة ، كما هو الحال مع العديد من المدخلات (على الرغم من أنه يمكنك التحقق من صحة إدخال واحد فقط لكل مجموعة).
-
يجب أن تكون فئات التحجيم على الأصل
.input-group
وليس على عناصر النموذج الفردية.
تغييرات بيتا 2
أثناء الاستخدام التجريبي ، نهدف إلى عدم إجراء تغييرات جذرية. ومع ذلك ، لا تسير الأمور دائمًا كما هو مخطط لها. فيما يلي التغييرات العاجلة التي يجب وضعها في الاعتبار عند الانتقال من Beta 1 إلى Beta 2.
كسر
- تمت إزالة
$badge-color
المتغير وتشغيله.badge
. نستخدم وظيفة تباين الألوان لاختيار أحدcolor
العناصر بناءً علىbackground-color
، وبالتالي فإن المتغير غير ضروري. - تمت إعادة تسمية
grayscale()
الوظيفةgray()
لتجنب كسر التعارض معgrayscale
عامل تصفية CSS الأصلي. - تمت إعادة تسمية أنظمة
.table-inverse
الألوان لدينا والمستخدمة.thead-inverse
في.thead-default
أي مكان آخر.*-dark
..*-light
- تنشئ الجداول المستجيبة الآن فئات لكل نقطة توقف للشبكة. هذا يكسر من Beta 1 في أن ما
.table-responsive
كنت تستخدمه هو أشبه.table-responsive-md
. يمكنك الآن استخدام.table-responsive
أو.table-responsive-{sm,md,lg,xl}
حسب الحاجة. - تم إسقاط دعم Bower حيث تم إهمال مدير الحزم للبدائل (على سبيل المثال ، الغزل أو npm). انظر bower / bower # 2298 للحصول على التفاصيل.
- لا يزال Bootstrap يتطلب jQuery 1.9.1 أو أعلى ، ولكن يُنصح باستخدام الإصدار 3.x نظرًا لأن المتصفحات المدعومة من الإصدار v3.x هي تلك التي يدعمها Bootstrap بالإضافة إلى الإصدار 3.x الذي يحتوي على بعض إصلاحات الأمان.
- تمت إزالة
.form-control-label
الفئة غير المستخدمة. إذا كنت قد استفدت بالفعل من هذه الفئة ، فقد كانت نسخة مكررة من.col-form-label
الفصل الذي تم توسيط a عموديًا<label>
مع الإدخال المرتبط به في تخطيطات النماذج الأفقية. - تم تغيير ال
color-yiq
من mixin الذي يتضمنcolor
الخاصية إلى دالة تُرجع قيمة ، مما يسمح لك باستخدامها لأي خاصية CSS. على سبيل المثال ، بدلاً منcolor-yiq(#000)
الكتابةcolor: color-yiq(#000);
.
يسلط الضوء
pointer-events
قدم استخدامًا جديدًا على الوسائط..modal-dialog
يمر الخارجي عبر الأحداث منpointer-events: none
أجل معالجة النقرات المخصصة (مما يجعل من الممكن الاستماع فقط.modal-backdrop
لأي نقرات) ، ثم يتعارض مع الأمر.modal-content
الفعليpointer-events: auto
.
ملخص
إليك عناصر التذاكر الكبيرة التي تريد أن تكون على دراية بها عند الانتقال من الإصدار 3 إلى الإصدار 4.
دعم المتصفح
- تم إسقاط دعم IE8 و IE9 و iOS 6. الإصدار 4 هو الآن IE10 + و iOS 7+ فقط. بالنسبة للمواقع التي تحتاج إلى أي منهما ، استخدم v3.
- تمت إضافة الدعم الرسمي لمتصفح Android v5.0 Lollipop و WebView. تظل الإصدارات السابقة من متصفح Android و WebView مدعومة بشكل غير رسمي فقط.
التغييرات العالمية
- يتم تمكين Flexbox افتراضيًا. بشكل عام ، يعني هذا الابتعاد عن العوامات والمزيد عبر مكوناتنا.
- تم التبديل من Less إلى Sass لملفات CSS المصدر الخاصة بنا.
- تم التبديل من وحدة CSS
px
الأساسيةrem
الخاصة بنا ، على الرغم من استمرار استخدام وحدات البكسل لاستعلامات الوسائط وسلوك الشبكة نظرًا لأن منافذ عرض الجهاز لا تتأثر بحجم النوع. - تمت زيادة حجم الخط العام من
14px
إلى16px
. - تم تجديد طبقات الشبكة لإضافة خيار خامس (معالجة الأجهزة الأصغر في
576px
وتحت) وإزالة-xs
اللاحمة من تلك الفئات. مثال.col-6.col-sm-4.col-md-3
:. - تم استبدال السمة الاختيارية المنفصلة بخيارات قابلة للتكوين عبر متغيرات SCSS (على سبيل المثال ،
$enable-gradients: true
). - تم إصلاح نظام البناء لاستخدام سلسلة من البرامج النصية لـ npm بدلاً من Grunt. انظر
package.json
لجميع النصوص ، أو التمهيدي لمشروعنا لاحتياجات التنمية المحلية. - لم يعد الاستخدام غير المستجيب لـ Bootstrap مدعومًا.
- أسقطت أداة التخصيص عبر الإنترنت لصالح وثائق إعداد أكثر شمولاً وبنيات مخصصة.
- تمت إضافة العشرات من فئات الأدوات المساعدة الجديدة لأزواج قيمة خصائص CSS الشائعة واختصارات تباعد الهامش / الحشو.
نظام الشبكة
- انتقل إلى flexbox.
- دعم إضافي لـ flexbox في الخلطات الشبكية والفئات المحددة مسبقًا.
- كجزء من flexbox ، تم تضمين دعم لفئات المحاذاة الرأسية والأفقية.
- تم تحديث أسماء فئة الشبكة وطبقة شبكة جديدة.
- تمت إضافة
sm
طبقة شبكة جديدة أدناه768px
لمزيد من التحكم الدقيق. لدينا الآنxs
وsm
وmd
وlg
وxl
. هذا يعني أيضًا أن كل مستوى قد تم رفعه لمستوى واحد (لذلك.col-md-6
في v3 أصبح الآن.col-lg-6
في v4). xs
تم تعديل فئات الشبكة بحيث لا تتطلب اللاحق لتمثل بشكل أكثر دقة أنها تبدأ في تطبيق الأنماطmin-width: 0
وليس على قيمة بكسل محددة. بدلا من.col-xs-6
ذلك الآن.col-6
. تتطلب جميع طبقات الشبكة الأخرى infix (على سبيل المثال ،sm
).
- تمت إضافة
- تم تحديث أحجام الشبكة والخلطات والمتغيرات.
- تحتوي مزاريب الشبكة الآن على خريطة Sass بحيث يمكنك تحديد عروض مزراب معينة في كل نقطة توقف.
- تم تحديث الخلطات الشبكية للاستفادة من
make-col-ready
مزيج الإعداد و a لتعيينmake-col
حجم العمود الفردي.flex
max-width
- تم تغيير نقاط إيقاف استعلام وسائط نظام الشبكة وعرض الحاوية لحساب طبقة الشبكة الجديدة والتأكد من أن الأعمدة قابلة للقسمة بالتساوي
12
على أقصى عرض لها. - تتم الآن معالجة نقاط توقف الشبكة وعرض الحاوية عبر خرائط Sass (
$grid-breakpoints
و$container-max-widths
) بدلاً من مجموعة من المتغيرات المنفصلة. هذه تحل محل@screen-*
المتغيرات بالكامل وتسمح لك بالتخصيص الكامل لطبقات الشبكة. - استفسارات وسائل الإعلام قد تغيرت أيضا. بدلاً من تكرار إعلانات استعلام الوسائط الخاصة بنا بنفس القيمة في كل مرة ، لدينا الآن
@include media-breakpoint-up/down/only
. الآن ، بدلاً من الكتابة@media (min-width: @screen-sm-min) { ... }
، يمكنك الكتابة@include media-breakpoint-up(sm) { ... }
.
عناصر
- اللوحات المسقطة والصور المصغرة والآبار لمكون شامل جديد ، وهو البطاقات .
- تم إسقاط خط رمز Glyphicons. إذا كنت بحاجة إلى رموز ، فهناك بعض الخيارات:
- نسخة المنبع من Glyphicons
- أوكتيكونس
- رائع الخط
- راجع صفحة التوسيع للحصول على قائمة بالبدائل. هل لديك اقتراحات إضافية؟ الرجاء فتح قضية أو العلاقات العامة.
- تم إسقاط المكون الإضافي Affix jQuery.
- نوصي باستخدام
position: sticky
بدلاً من ذلك. راجع HTML5 الرجاء إدخال للحصول على تفاصيل وتوصيات محددة polyfill. أحد الاقتراحات هو استخدام@supports
قاعدة لتنفيذها (على سبيل المثال ،@supports (position: sticky) { ... }
) - إذا كنت تستخدم Affix لتطبيق أنماط إضافية غير
position
أنماط ، فقد لا تدعم polyfills حالة الاستخدام الخاصة بك. أحد الخيارات لمثل هذه الاستخدامات هو مكتبة ScrollPos-Styler التابعة لجهة خارجية .
- نوصي باستخدام
- تم إسقاط مكون النداء لأنه كان في الأساس أزرارًا مخصصة قليلاً.
- تمت إعادة تشكيل جميع المكونات تقريبًا لاستخدام المزيد من محددات الفئات غير المتداخلة بدلاً من المحددات الفرعية المفرطة التحديد.
حسب المكون
تسلط هذه القائمة الضوء على التغييرات الرئيسية حسب المكون بين v3.xx و v4.0.0.
اعادة التشغيل
الجديد في Bootstrap 4 هو Reboot ، ورقة أنماط جديدة مبنية على التطبيع مع أنماط إعادة التعيين الخاصة بنا إلى حد ما. المحددات التي تظهر في هذا الملف تستخدم العناصر فقط - لا توجد فئات هنا. يؤدي هذا إلى عزل أنماط إعادة التعيين الخاصة بنا عن أنماط المكونات الخاصة بنا للحصول على نهج أكثر نمطية. من بين أهم عمليات إعادة التعيين التي يتضمنها هذا box-sizing: border-box
التغيير ، والانتقال من الوحدات em
إلى rem
العديد من العناصر ، وأنماط الارتباط ، والعديد من عمليات إعادة تعيين عناصر النموذج.
الطباعة
- نقل جميع
.text-
الأدوات المساعدة إلى_utilities.scss
الملف. - تم إسقاطه
.page-header
حيث يمكن تطبيق أنماطه عبر الأدوات المساعدة. .dl-horizontal
وقد انخفض. بدلاً من ذلك ، استخدم.row
على<dl>
فئات أعمدة الشبكة (أو الخلطات) واستخدمها على موقعها<dt>
وعلى<dd>
الأطفال.- إعادة تصميم علامات الاقتباس ، ونقل أنماطها من
<blockquote>
العنصر إلى فئة واحدة ،.blockquote
. أسقطت.blockquote-reverse
المعدل لأدوات النص. .list-inline
يتطلب الآن أن يتم تطبيق الفئة الجديدة على عناصر القائمة.list-inline-item
الفرعية الخاصة بها.
الصور
- أعيدت تسميته
.img-responsive
إلى.img-fluid
. - أعيدت تسميته
.img-rounded
إلى.rounded
- أعيدت تسميته
.img-circle
إلى.rounded-circle
الجداول
- تمت إزالة جميع مثيلات
>
المحدد تقريبًا ، مما يعني أن الجداول المتداخلة سترث الآن الأنماط تلقائيًا من الآباء. هذا يبسط إلى حد كبير محدداتنا والتخصيصات المحتملة. - أعيدت تسميته
.table-condensed
من.table-sm
أجل الاتساق. - تمت إضافة
.table-inverse
خيار جديد. - تمت إضافة معدلات رأس الجدول:
.thead-default
و.thead-inverse
. - تمت إعادة تسمية الفئات السياقية بحيث تحتوي على
.table-
-prefix. ومن ثم.active
،.success
و.warning
،.danger
و ،.info
و ، و ..table-active
.table-success
.table-warning
.table-danger
.table-info
نماذج
- يتم إعادة تعيين العنصر الذي تم نقله إلى
_reboot.scss
الملف. - أعيدت تسميته
.control-label
إلى.col-form-label
. - أعيدت تسميته
.input-lg
و ،.input-sm
على التوالي..form-control-lg
.form-control-sm
- فصول تم إسقاطها
.form-group-*
من أجل البساطة. استخدم.form-control-*
الفصول بدلاً من ذلك الآن. - تم إسقاطه
.help-block
واستبداله.form-text
بنص التعليمات على مستوى الكتلة. للحصول على نص تعليمات مضمنة وخيارات مرنة أخرى ، استخدم فئات الأدوات المساعدة مثل.text-muted
. - أسقط
.radio-inline
و.checkbox-inline
. - مندمجة
.checkbox
وداخل.radio
مختلف.form-check
الطبقات.form-check-*
. - تم إصلاح الأشكال الأفقية:
- أسقط
.form-horizontal
شرط الفصل. .form-group
لم يعد يطبق الأنماط من.row
خلال mixin ، لذا.row
فهو مطلوب الآن لتخطيطات الشبكة الأفقية (على سبيل المثال ،<div class="form-group row">
).- تمت إضافة
.col-form-label
فئة جديدة إلى تسميات توسيط رأسية مع.form-control
s. - تمت إضافة جديد
.form-row
لتخطيطات النماذج المدمجة مع فئات الشبكة (استبدلها.row
بـ a.form-row
and go).
- أسقط
- تمت إضافة دعم النماذج المخصصة (لمربعات الاختيار وأجهزة الراديو والتحديدات ومدخلات الملفات).
- تم استبدال
.has-error
،.has-warning
وفئات.has-success
بالتحقق من صحة نموذج HTML5 عبر فئات CSS:invalid
والفئات:valid
الزائفة. - أعيدت تسميته
.form-control-static
إلى.form-control-plaintext
.
أزرار
- أعيدت تسميته
.btn-default
إلى.btn-secondary
. - أسقطت
.btn-xs
الفصل تمامًا كما.btn-sm
هو نسبيًا أصغر بكثير من v3. - تم إسقاط ميزة الزر
button.js
ذات الحالة الخاصة بالمكوِّن الإضافي jQuery. وهذا يشمل الطرق$().button(string)
والأساليب$().button('reset')
. ننصح باستخدام القليل من JavaScript المخصص بدلاً من ذلك ، والذي سيكون له ميزة التصرف بالطريقة التي تريدها بالضبط.- لاحظ أنه تم الاحتفاظ بالميزات الأخرى للمكوِّن الإضافي (مربعات اختيار الأزرار ، وأزرار الراديو ، وأزرار التبديل المفرد) في الإصدار 4.
- قم بتغيير الأزرار
[disabled]
إلى:disabled
كما يدعم IE9 +:disabled
. ومع ذلكfieldset[disabled]
، لا يزال ضروريًا لأن مجموعات الحقول الأصلية المعطلة لا تزال عربات التي تجرها الدواب في IE11 .
مجموعة الأزرار
- مكون إعادة الكتابة مع flexbox.
- إزالتها
.btn-group-justified
. كبديل يمكنك استخدامه<div class="btn-group d-flex" role="group"></div>
كغلاف حول العناصر باستخدام.w-100
. - أسقطت
.btn-group-xs
الفصل بالكامل بإزالة.btn-xs
. - تمت إزالة التباعد الصريح بين مجموعات الأزرار في أشرطة أدوات الأزرار ؛ استخدم أدوات الهامش الآن.
- وثائق محسنة للاستخدام مع المكونات الأخرى.
هبوط قطرة
- تم التبديل من المحددات الرئيسية إلى فئات فردية لجميع المكونات والمعدلات وما إلى ذلك.
- أنماط قائمة منسدلة مبسطة بحيث لا يتم شحنها بعد الآن باستخدام أسهم متجهة لأعلى أو لأسفل مرفقة بالقائمة المنسدلة.
- يمكن إنشاء القوائم المنسدلة بـ
<div>
s أو<ul>
s الآن. - تم إعادة تصميم أنماط القائمة المنسدلة والترميز لتوفير دعم سهل ومضمّن لعناصر القائمة المنسدلة
<a>
والقائمة على<button>
أساسها. - أعيدت تسميته
.divider
إلى.dropdown-divider
. - تتطلب عناصر القائمة المنسدلة الآن
.dropdown-item
. - لم تعد تبديل القائمة المنسدلة تتطلب وضوحًا
<span class="caret"></span>
؛ يتم توفير هذا الآن تلقائيًا عبر CSS's::after
on.dropdown-toggle
.
نظام الشبكة
- تمت إضافة
576px
نقطة فصل شبكة جديدةsm
، بمعنى أنه يوجد الآن خمس طبقات إجمالية (xs
،sm
،md
،lg
، وxl
). - تمت إعادة تسمية فئات معدّل الشبكة المتجاوبة من
.col-{breakpoint}-{modifier}-{size}
إلى.{modifier}-{breakpoint}-{size}
لفئات الشبكة الأبسط. - فئات معدلة الدفع والسحب المسقطة للفئات الجديدة التي تعمل بالطاقة فليكس بوكس
order
. على سبيل المثال ، بدلاً من.col-8.push-4
و.col-4.pull-8
، يمكنك استخدام.col-8.order-2
و.col-4.order-1
. - تمت إضافة فئات الأداة المساعدة flexbox لنظام ومكونات الشبكة.
قائمة المجموعات
- مكون إعادة الكتابة مع flexbox.
- تم استبداله
a.list-group-item
بفئة صريحة ،.list-group-item-action
لتصميم إصدارات الارتباط والأزرار لعناصر مجموعة القائمة. - فئة مضافة
.list-group-flush
للاستخدام مع البطاقات.
مشروط
- مكون إعادة الكتابة مع flexbox.
- نظرًا للانتقال إلى flexbox ، من المحتمل أن تكون محاذاة أيقونات الرفض في الرأس معطلة لأننا لم نعد نستخدم العوامات. يأتي المحتوى العائم أولاً ، ولكن مع flexbox لم يعد الأمر كذلك. قم بتحديث أيقونات الرفض لتأتي بعد العناوين المشروطة لإصلاحها.
- تمت إزالة
remote
الخيار (الذي يمكن استخدامه لتحميل المحتوى الخارجي وحقنه تلقائيًا في نموذج)loaded.bs.modal
والحدث المقابل. نوصي بدلاً من ذلك باستخدام قوالب من جانب العميل أو إطار عمل لربط البيانات ، أو استدعاء jQuery.load نفسك.
نافس
- مكون إعادة الكتابة مع flexbox.
- تم إسقاط جميع
>
المحددات تقريبًا للحصول على تصميم أبسط عبر فئات غير متداخلة. - بدلاً من المحددات الخاصة بـ HTML مثل
.nav > li > a
، نستخدم فئات منفصلة لـ.nav
s و s.nav-item
و.nav-link
s. هذا يجعل HTML الخاص بك أكثر مرونة مع زيادة قابلية التوسعة.
نافبار
تمت إعادة كتابة شريط التنقل بالكامل في flexbox مع دعم محسّن للمحاذاة والاستجابة والتخصيص.
- يتم الآن تطبيق سلوكيات شريط التنقل المستجيبة على
.navbar
الفصل الدراسي عبر المكان المطلوب.navbar-expand-{breakpoint}
حيث تختار مكان تصغير شريط التنقل. في السابق كان هذا تعديلًا أقل تباينًا وكان يتطلب إعادة تجميع. .navbar-default
الآن.navbar-light
، على الرغم من أنه.navbar-dark
لا يزال كما هو. واحد من هؤلاء مطلوب في كل نافبار. ومع ذلك ، لم تعد هذه الفئات محددةbackground-color
؛ بدلاً من ذلك ، فهم يؤثرون فقط بشكل أساسيcolor
.- تتطلب Navbars الآن إعلانًا عن الخلفية من نوع ما. اختر من بين أدوات الخلفية لدينا (
.bg-*
) أو قم بتعيين أدواتك الخاصة مع فئات الضوء / المعكوس أعلاه للتخصيص المجنون . - نظرًا لأنماط flexbox ، يمكن الآن استخدام أدوات navbars المساعدة لخيارات المحاذاة السهلة.
.navbar-toggle
الآن.navbar-toggler
وله أنماط مختلفة وترميز داخلي (ليس أكثر من ثلاث<span>
ثوانٍ).- أسقطت
.navbar-form
الفصل بالكامل. لم تعد ضرورية. بدلاً من ذلك ، ما عليك سوى استخدام.form-inline
أدوات الهامش وتطبيقها حسب الضرورة. - لم تعد Navbars تتضمن
margin-bottom
أوborder-radius
بشكل افتراضي. استخدم المرافق حسب الضرورة. - تم تحديث جميع الأمثلة التي تعرض أشرطة التنقل لتتضمن ترميزًا جديدًا.
ترقيم الصفحات
- مكون إعادة الكتابة مع flexbox.
- مطلوب الآن فئات صريحة (
.page-item
،.page-link
) على أحفاد.pagination
s - أسقط
.pager
المكون بالكامل لأنه كان أكثر بقليل من أزرار مخطط تفصيلي مخصصة.
فتات الخبز
- فئة صريحة ،
.breadcrumb-item
مطلوب الآن على أحفاد.breadcrumb
s
تسميات وشارات
- التوحيد
.label
وإزالة.badge
الغموض عن<label>
العنصر وتبسيط المكونات ذات الصلة. - تمت إضافته
.badge-pill
كمعدل لمظهر "حبوب منع الحمل" المستدير. - لم تعد الشارات تطفو تلقائيًا في مجموعات القوائم والمكونات الأخرى. فصول المنفعة مطلوبة الآن لذلك.
.badge-default
تم إسقاطه.badge-secondary
وإضافته لمطابقة فئات معدل المكونات المستخدمة في مكان آخر.
اللوحات والصور المصغرة والآبار
تم إسقاطه بالكامل لمكون البطاقة الجديد.
اللوحات
.panel
ل.card
، بنيت الآن مع flexbox..panel-default
تمت إزالته ولا بديل..panel-group
تمت إزالته ولا بديل..card-group
ليس بديلاً ، إنه مختلف..panel-heading
إلى.card-header
.panel-title
ل.card-title
. اعتمادًا على المظهر المطلوب ، قد ترغب أيضًا في استخدام عناصر أو فئات عناوين (على سبيل المثال<h3>
،.h3
) أو عناصر أو فئات غامقة (على سبيل المثال<strong>
،<b>
).font-weight-bold
. لاحظ أنه.card-title
على الرغم من تسميته بشكل مشابه ، إلا أنه ينتج مظهرًا مختلفًا عن.panel-title
..panel-body
إلى.card-body
.panel-footer
إلى.card-footer
.panel-primary
،.panel-success
،.panel-info
،.panel-warning
،.panel-danger
وتم إسقاطها لـ.bg-
،.text-
والمرافق التي تم.border
إنشاؤها من$theme-colors
خريطة Sass الخاصة بنا.
تقدم
.progress-bar-*
تم استبدال الفئات السياقية بأدوات.bg-*
مساعدة. على سبيل المثال ،class="progress-bar progress-bar-danger"
يصبحclass="progress-bar bg-danger"
.- تم استبدال
.active
أشرطة التقدم المتحركة بـ.progress-bar-animated
.
دائري
- أصلح المكون بأكمله لتبسيط التصميم والتصميم. لدينا أنماط أقل يمكنك تجاوزها ، ومؤشرات جديدة ، وأيقونات جديدة.
- تم إلغاء تداخل كل CSS وإعادة تسميته ، مما يضمن أن كل فئة مسبوقة بـ
.carousel-
.- بالنسبة لعناصر الرف الدائري ،
.next
و.prev
و.left
و و.right
are now.carousel-item-next
و.carousel-item-prev
و.carousel-item-left
و.carousel-item-right
. .item
هو أيضا الآن.carousel-item
.- بالنسبة لعناصر التحكم prev / next ،
.carousel-control.right
وهي.carousel-control.left
الآن.carousel-control-next
و.carousel-control-prev
، مما يعني أنها لم تعد تتطلب فئة أساسية محددة.
- بالنسبة لعناصر الرف الدائري ،
- تمت إزالة جميع الأنماط سريعة الاستجابة ، والإرجاء إلى الأدوات المساعدة (على سبيل المثال ، عرض التسميات التوضيحية على إطارات عرض معينة) والأنماط المخصصة حسب الحاجة.
- تمت إزالة تجاوزات الصور للصور الموجودة في عناصر الرف الدائري ، مع الإرجاء إلى الأدوات المساعدة.
- تم تعديل مثال الرف الدائري ليشمل الترميز والأنماط الجديدة.
الجداول
- تمت إزالة الدعم للجداول المتداخلة ذات الأنماط. جميع أنماط الجدول موروثة الآن في الإصدار 4 لمحددات أبسط.
- تمت إضافة متغير الجدول العكسي.
خدمات
- عرض ، مخفي ، والمزيد:
- جعل أدوات العرض تستجيب (على سبيل المثال ،
.d-none
وd-{sm,md,lg,xl}-none
). - تم إسقاط الجزء الأكبر من المرافق لأدوات العرض
.hidden-*
الجديدة . على سبيل المثال ، بدلاً من استخدام . تمت إعادة تسمية الأدوات المساعدة لاستخدام نظام تسمية أداة العرض. مزيد من المعلومات ضمن قسم أدوات الاستجابة السريعة من هذه الصفحة..hidden-sm-up
.d-sm-none
.hidden-print
- تمت إضافة
.float-{sm,md,lg,xl}-{left,right,none}
فئات للعوامات سريعة الاستجابة وإزالتها.pull-left
وبما.pull-right
أنها زائدة عن الحاجة إلى.float-left
و.float-right
.
- جعل أدوات العرض تستجيب (على سبيل المثال ،
- يكتب:
- تمت إضافة الاختلافات المتجاوبة إلى فئات محاذاة النص لدينا
.text-{sm,md,lg,xl}-{left,center,right}
.
- تمت إضافة الاختلافات المتجاوبة إلى فئات محاذاة النص لدينا
- المحاذاة والتباعد:
- تمت إضافة أدوات مساعدة جديدة للهامش والحشو سريع الاستجابة لجميع الجوانب ، بالإضافة إلى الاختصارات الرأسية والأفقية.
- حمل القارب الإضافي لمرافق Flexbox .
- تراجع للفئة
.center-block
الجديدة ..mx-auto
- تم تحديث Clearfix لإسقاط الدعم لإصدارات المستعرض الأقدم.
مزيج بادئة البائع
تمت إزالة مزيج بادئة بائع Bootstrap 3 ، التي تم إهمالها في الإصدار 3.2.0 ، في Bootstrap 4. نظرًا لأننا نستخدم Autoprefixer ، لم تعد ضرورية.
إزالة الخلطات التالية : animation
، animation-delay
، animation-direction
، animation-duration
، animation-fill-mode
، animation-iteration-count
، animation-name
، animation-timing-function
، backface-visibility
، box-sizing
، content-columns
، hyphens
، opacity
، perspective
، perspective-origin
، rotate
، rotateX
، rotateY
، scale
، scaleX
، scaleY
، skew
، transform-origin
، transition-delay
، transition-duration
، transition-property
، transition-timing-function
، transition-transform
، translate
،translate3d
user-select
توثيق
تلقت وثائقنا ترقية في جميع المجالات أيضًا. هنا هو أدنى مستوى:
- ما زلنا نستخدم Jekyll ، لكن لدينا مكونات إضافية في المزيج:
bugify.rb
يُستخدم لسرد الإدخالات بكفاءة على صفحة أخطاء المتصفح .example.rb
هو تفرع مخصص للمكوِّنhighlight.rb
الإضافي الافتراضي ، مما يسمح بمعالجة أسهل لرمز المثال.callout.rb
هو تفرع مخصص مشابه لذلك ، ولكنه مصمم لوسائل شرح المستندات الخاصة.- يتم استخدام jekyll-toc لإنشاء جدول المحتويات الخاص بنا.
- تمت إعادة كتابة جميع محتويات المستندات في Markdown (بدلاً من HTML) لتسهيل التحرير.
- تمت إعادة تنظيم الصفحات للحصول على محتوى أبسط وتسلسل هرمي أكثر سهولة.
- انتقلنا من CSS العادي إلى SCSS للاستفادة الكاملة من متغيرات Bootstrap و mixins والمزيد.
المرافق سريعة الاستجابة
@screen-
تمت إزالة جميع المتغيرات في الإصدار 4.0.0. استخدم مزيج media-breakpoint-up()
أو media-breakpoint-down()
، أو media-breakpoint-only()
Sass أو $grid-breakpoints
خريطة Sass بدلاً من ذلك.
تمت إزالة فئات المرافق المتجاوبة لدينا إلى حد كبير لصالح display
المرافق الصريحة.
- تمت إزالة الفئات
.hidden
و.show
لأنها تتعارض مع$(...).hide()
أساليب$(...).show()
jQuery. بدلاً من ذلك ، حاول تبديل[hidden]
السمة أو استخدم الأنماط المضمنة مثلstyle="display: none;"
وstyle="display: block;"
. - تمت إزالة جميع
.hidden-
الفئات ، باستثناء أدوات الطباعة التي تمت إعادة تسميتها.- تمت إزالته من الإصدار 3:
.hidden-xs
.hidden-sm
.hidden-md
.hidden-lg
.visible-xs-block
.visible-xs-inline
.visible-xs-inline-block
.visible-sm-block
.visible-sm-inline
.visible-sm-inline-block
.visible-md-block
.visible-md-inline
.visible-md-inline-block
.visible-lg-block
.visible-lg-inline
.visible-lg-inline-block
- تمت إزالته من الإصدار 4 ألفا:
.hidden-xs-up
.hidden-xs-down
.hidden-sm-up
.hidden-sm-down
.hidden-md-up
.hidden-md-down
.hidden-lg-up
.hidden-lg-down
- تمت إزالته من الإصدار 3:
- لم تعد أدوات الطباعة تبدأ بـ
.hidden-
أو.visible-
، ولكنها تبدأ بـ.d-print-
.- الأسماء القديمة:
.visible-print-block
،.visible-print-inline
،.visible-print-inline-block
،.hidden-print
- فصول جديدة:
.d-print-block
،.d-print-inline
،.d-print-inline-block
،.d-print-none
- الأسماء القديمة:
بدلاً من استخدام .visible-*
الفئات الصريحة ، يمكنك جعل العنصر مرئيًا ببساطة من خلال عدم إخفائه بحجم الشاشة هذا. يمكنك دمج .d-*-none
فئة واحدة مع فئة واحدة .d-*-block
لإظهار عنصر فقط في فترة زمنية معينة من أحجام الشاشة (على سبيل المثال .d-none.d-md-block.d-xl-none
، يظهر العنصر فقط على الأجهزة المتوسطة والكبيرة).
لاحظ أن التغييرات التي تم إجراؤها على نقاط توقف الشبكة في الإصدار 4 تعني أنك ستحتاج إلى زيادة نقطة توقف واحدة لتحقيق نفس النتائج. لا تحاول فئات الأداة المساعدة الجديدة المستجيبة استيعاب الحالات الأقل شيوعًا حيث لا يمكن التعبير عن رؤية عنصر ما كنطاق واحد متجاور من أحجام منفذ العرض ؛ ستحتاج بدلاً من ذلك إلى استخدام CSS مخصص في مثل هذه الحالات.