اعادة التشغيل
إعادة التشغيل ، وهي مجموعة من تغييرات CSS الخاصة بالعنصر في ملف واحد ، تبدأ Bootstrap لتوفير خط أساس أنيق ومتسق وبسيط للبناء عليه.
يقترب
يعتمد Reboot على التسوية ، مما يوفر العديد من عناصر HTML بأنماط ذات رأي إلى حد ما باستخدام محددات العناصر فقط. يتم التصميم الإضافي فقط مع الفصول الدراسية. على سبيل المثال ، نعيد تشغيل بعض <table>
الأنماط للحصول على خط أساس أبسط ونقدم لاحقًا .table
، .table-bordered
والمزيد.
فيما يلي إرشاداتنا وأسباب اختيار ما يجب تجاوزه في Reboot:
- قم بتحديث بعض القيم الافتراضية للمتصفح لاستخدامها
rem
بدلاً منem
s لتباعد المكونات القابلة للتطوير. - تجنب
margin-top
. يمكن أن تنهار الهوامش الرأسية ، مما يؤدي إلى نتائج غير متوقعة. والأهم من ذلك ، أن الاتجاه الوحيدmargin
هو نموذج عقلي أبسط. - لتسهيل القياس عبر أحجام الأجهزة ، يجب أن تستخدم عناصر الكتلة
rem
s من أجلmargin
s. - احتفظ بإعلانات
font
الخصائص ذات الصلة إلى الحد الأدنى ، باستخدامinherit
كلما أمكن ذلك.
متغيرات CSS
تمت الإضافة في الإصدار 5.2.0مع الإصدار 5.1.1 ، قمنا بتوحيد معاييرنا المطلوبة @import
عبر جميع حزم CSS الخاصة بنا (بما في ذلك bootstrap.css
، bootstrap-reboot.css
و ، و bootstrap-grid.css
) لتضمينها _root.scss
. يضيف هذا :root
متغيرات المستوى CSS إلى جميع الحزم ، بغض النظر عن عدد منها المستخدمة في تلك الحزمة. في النهاية ، سيستمر Bootstrap 5 في رؤية المزيد من متغيرات CSS المضافة بمرور الوقت ، من أجل توفير المزيد من التخصيص في الوقت الفعلي دون الحاجة إلى إعادة تجميع Sass دائمًا. نهجنا هو أخذ متغيرات Sass المصدر الخاصة بنا وتحويلها إلى متغيرات CSS. بهذه الطريقة ، حتى إذا لم تستخدم متغيرات CSS ، فلا يزال لديك كل قوة Sass. لا يزال هذا قيد التقدم وسيستغرق تنفيذه بالكامل وقتًا.
على سبيل المثال ، ضع في اعتبارك متغيرات CSS هذه للأنماط :root
الشائعة :<body>
@if $font-size-root != null {
--#{$prefix}root-font-size: #{$font-size-root};
}
--#{$prefix}body-font-family: #{$font-family-base};
@include rfs($font-size-base, --#{$prefix}body-font-size);
--#{$prefix}body-font-weight: #{$font-weight-base};
--#{$prefix}body-line-height: #{$line-height-base};
--#{$prefix}body-color: #{$body-color};
@if $body-text-align != null {
--#{$prefix}body-text-align: #{$body-text-align};
}
--#{$prefix}body-bg: #{$body-bg};
في الممارسة العملية ، يتم تطبيق هذه المتغيرات في Reboot كما يلي:
body {
margin: 0; // 1
font-family: var(--#{$prefix}body-font-family);
@include font-size(var(--#{$prefix}body-font-size));
font-weight: var(--#{$prefix}body-font-weight);
line-height: var(--#{$prefix}body-line-height);
color: var(--#{$prefix}body-color);
text-align: var(--#{$prefix}body-text-align);
background-color: var(--#{$prefix}body-bg); // 2
-webkit-text-size-adjust: 100%; // 3
-webkit-tap-highlight-color: rgba($black, 0); // 4
}
مما يسمح لك بإجراء تخصيصات في الوقت الفعلي كيفما تشاء:
<body style="--bs-body-color: #333;">
<!-- ... -->
</body>
افتراضيات الصفحة
يتم تحديث العناصر <html>
و <body>
لتوفير إعدادات افتراضية أفضل على مستوى الصفحة. اكثر تحديدا:
- يتم
box-sizing
تعيين العنصر عالميًا على كل عنصر - بما في ذلك*::before
و*::after
، إلىborder-box
. هذا يضمن عدم تجاوز العرض المعلن للعنصر أبدًا بسبب الحشو أو الحد.font-size
لم يتم الإعلان عن أي قاعدة على<html>
، ولكن16px
من المفترض (المتصفح الافتراضي).font-size: 1rem
يتم تطبيقه على<body>
الحجم لسهولة الاستجابة من خلال استعلامات الوسائط مع احترام تفضيلات المستخدم وضمان اتباع نهج يسهل الوصول إليه. يمكن تجاوز الإعداد الافتراضي لهذا المتصفح عن طريق تعديل$font-size-root
المتغير.
- يقوم
<body>
أيضًا بتعيين عالميfont-family
وfont-weight
وline-height
وcolor
. يتم توريث هذا لاحقًا بواسطة بعض عناصر النموذج لمنع عدم تناسق الخط. - من أجل السلامة ،
<body>
يحتوي ملف تعريف الارتباط المعلنbackground-color
على القيمة الافتراضية#fff
.
مكدس الخط الأصلي
يستخدم Bootstrap "مكدس الخطوط الأصلي" أو "مكدس خطوط النظام" لتقديم النص الأمثل على كل جهاز ونظام تشغيل. تم تصميم خطوط النظام هذه خصيصًا مع وضع أجهزة اليوم في الاعتبار ، مع تحسين العرض على الشاشات ودعم الخطوط المتغيرة والمزيد. اقرأ المزيد عن مجموعات الخطوط الأصلية في مقالة Smashing Magazine هذه .
$font-family-sans-serif:
// Cross-platform generic font family (default user interface font)
system-ui,
// Safari for macOS and iOS (San Francisco)
-apple-system,
// Windows
"Segoe UI",
// Android
Roboto,
// older macOS and iOS
"Helvetica Neue"
// Linux
"Noto Sans",
"Liberation Sans",
// Basic web fallback
Arial,
// Sans serif fallback
sans-serif,
// Emoji fonts
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
لاحظ أنه نظرًا لأن مجموعة الخطوط تشتمل على خطوط إيموجي ، فسيتم تقديم العديد من أحرف Unicode / رمز dingbat الشائعة كصور توضيحية متعددة الألوان. سيختلف مظهرهم ، اعتمادًا على النمط المستخدم في خط الرموز التعبيرية الأصلي للمتصفح / النظام الأساسي ، ولن يتأثروا بأي color
أنماط CSS.
font-family
يتم تطبيق هذا على ويتم <body>
توريثه تلقائيًا بشكل عام عبر Bootstrap. لتبديل التمهيد العام font-family
، قم بتحديث $font-family-base
وإعادة تجميع Bootstrap.
العناوين والفقرات
تتم إعادة تعيين كافة عناصر العنوان - على سبيل المثال <h1>
- لإزالتها . تمت إضافة العناوين والفقرات للتباعد السهل.<p>
margin-top
margin-bottom: .5rem
margin-bottom: 1rem
عنوان | مثال |
---|---|
<h1></h1> |
h1. عنوان التمهيد |
<h2></h2> |
h2. عنوان التمهيد |
<h3></h3> |
h3. عنوان التمهيد |
<h4></h4> |
h4. عنوان التمهيد |
<h5></h5> |
h5. عنوان التمهيد |
<h6></h6> |
h6. عنوان التمهيد |
القواعد الأفقية
تم <hr>
تبسيط العنصر. على غرار الإعدادات الافتراضية للمتصفح ، <hr>
يتم تصميم s عبر border-top
، ويكون لها افتراضي ، وترث عبرها opacity: .25
تلقائيًا ، بما في ذلك عندما يتم تعيينها عبر الوالدين. يمكن تعديلها باستخدام أدوات مساعدة النص والحدود والتعتيم.border-color
color
color
<hr>
<div class="text-success">
<hr>
</div>
<hr class="border border-danger border-2 opacity-50">
<hr class="border border-primary border-3 opacity-75">
القوائم
تمت إزالة كل القوائم — <ul>
و <ol>
و <dl>
— و a . القوائم المتداخلة لا تحتوي على . لقد قمنا أيضًا بإعادة تعيين عناصر التشغيل والعناصر .margin-top
margin-bottom: 1rem
margin-bottom
padding-left
<ul>
<ol>
- تمت إزالة الهامش العلوي لجميع القوائم
- وتم تسوية هامشهم السفلي
- القوائم المتداخلة ليس لها هامش سفلي
- بهذه الطريقة يكون لها مظهر أكثر تناسقًا
- خاصة عندما يتبعها المزيد من عناصر القائمة
- تم أيضًا إعادة تعيين المساحة المتروكة اليسرى
- هذه قائمة مرتبة
- مع عدد قليل من عناصر القائمة
- لها نفس المظهر العام
- كقائمة سابقة غير مرتبة
للحصول على تصميم أبسط ، وتسلسل هرمي واضح ، وتباعد أفضل ، تم تحديث قوائم الوصف margin
. <dd>
إعادة تعيين s margin-left
إلى 0
وإضافة margin-bottom: .5rem
. <dt>
s بخط عريض .
- قوائم الوصف
- قائمة وصف مثالية لتعريف المصطلحات.
- شرط
- تعريف المصطلح.
- تعريف ثان لنفس المصطلح.
- مصطلح آخر
- تعريف لهذا المصطلح الآخر.
التعليمات البرمجية المضمنة
التفاف مضمنة قصاصات من التعليمات البرمجية مع <code>
. تأكد من عدم استخدام أقواس زاوية HTML.
<section>
يجب أن يتم لفها على أنها مضمنة.
For example, <code><section></code> should be wrapped as inline.
كتل التعليمات البرمجية
استخدم <pre>
s لعدة أسطر من التعليمات البرمجية. مرة أخرى ، تأكد من عدم وجود أقواس زاوية في الشفرة من أجل العرض الصحيح. تتم <pre>
إعادة تعيين العنصر لإزالته margin-top
واستخدام rem
الوحدات الخاصة به margin-bottom
.
<p>Sample text here...</p>
<p>And another line of sample text here...</p>
<pre><code><p>Sample text here...</p>
<p>And another line of sample text here...</p>
</code></pre>
المتغيرات
للإشارة إلى المتغيرات ، استخدم <var>
العلامة.
<var>y</var> = <var>m</var><var>x</var> + <var>b</var>
إدخال المستخدم
استخدم <kbd>
للإشارة إلى الإدخال الذي يتم إدخاله عادةً عبر لوحة المفاتيح.
لتعديل الضبط ، اضغط على ctrl + ,
To switch directories, type <kbd>cd</kbd> followed by the name of the directory.<br>
To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>
إخراج العينة
للإشارة إلى عينة الإخراج من البرنامج ، استخدم <samp>
العلامة.
<samp>This text is meant to be treated as sample output from a computer program.</samp>
الجداول
يتم تعديل الجداول قليلاً حسب النمط <caption>
، وتقليص الحدود ، وضمان الاتساق text-align
في كل مكان. تغييرات إضافية للحدود والمساحة المتروكة والمزيد تأتي مع الفصل.table
.
عنوان الجدول | عنوان الجدول | عنوان الجدول | عنوان الجدول |
---|---|---|---|
خلية الجدول | خلية الجدول | خلية الجدول | خلية الجدول |
خلية الجدول | خلية الجدول | خلية الجدول | خلية الجدول |
خلية الجدول | خلية الجدول | خلية الجدول | خلية الجدول |
<table>
<caption>
This is an example table, and this is its caption to describe the contents.
</caption>
<thead>
<tr>
<th>Table heading</th>
<th>Table heading</th>
<th>Table heading</th>
<th>Table heading</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
</tr>
<tr>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
</tr>
<tr>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
<td>Table cell</td>
</tr>
</tbody>
</table>
نماذج
تمت إعادة تمهيد عناصر النموذج المختلفة للحصول على أنماط أساسية أبسط. فيما يلي بعض أبرز التغييرات:
<fieldset>
لا تحتوي s على حدود أو حشو أو هوامش ، لذا يمكن استخدامها بسهولة كأغلفة للإدخالات الفردية أو مجموعات المدخلات.<legend>
s ، مثل مجموعات الحقول ، تم إعادة تصميمها أيضًا لعرضها كعنوان من نوع ما.<label>
sdisplay: inline-block
للسماحmargin
بتطبيقها.<input>
تتم معالجة s و<select>
s و s<textarea>
و<button>
s في الغالب بواسطة Normalize ، لكن إعادة التشغيل تزيل مجموعاتهاmargin
ومجموعاتهاline-height: inherit
أيضًا.<textarea>
يتم تعديل s بحيث يمكن تغيير حجمها عموديًا فقط لأن تغيير الحجم الأفقي غالبًا ما يؤدي إلى "فواصل" تخطيط الصفحة.<button>
عندما<input>
تكون عناصر s والأزرار .cursor: pointer
:not(:disabled)
هذه التغييرات ، وأكثر ، موضحة أدناه.
دعم إدخال التاريخ واللون
ضع في اعتبارك أن مدخلات التاريخ ليست مدعومة بالكامل من قبل جميع المتصفحات ، وبالتحديد Safari.
مؤشرات على الأزرار
تتضمن إعادة التشغيل تحسينًا role="button"
لتغيير المؤشر الافتراضي إلى pointer
. أضف هذه السمة إلى العناصر للمساعدة في الإشارة إلى أن العناصر تفاعلية. هذا الدور ليس ضروريًا <button>
للعناصر التي تحصل على cursor
التغيير الخاص بها.
<span role="button" tabindex="0">Non-button element button</span>
عناصر متنوعة
تبوك
يتم <address>
تحديث العنصر لإعادة تعيين المتصفح الافتراضي font-style
من italic
إلى normal
. line-height
موروث الآن أيضًا ، margin-bottom: 1rem
وتمت إضافته. <address>
s لتقديم معلومات الاتصال لأقرب سلف (أو مجموعة كاملة من العمل). الحفاظ على التنسيق عن طريق إنهاء الأسطر بـ <br>
.
1355 Market St، Suite 900
San Francisco، CA 94103
P: (123) 456-7890 الاسم الكامل
[email protected]
Blockquote
الافتراضي margin
في blockquotes هو 1em 40px
، لذلك قمنا بإعادة تعيين ذلك 0 0 1rem
لشيء أكثر اتساقًا مع العناصر الأخرى.
اقتباس مشهور موجود في عنصر blockquote.
شخص مشهور في عنوان المصدر
عناصر مضمنة
يتلقى <abbr>
العنصر نمطًا أساسيًا ليجعله بارزًا بين نص الفقرة.
ملخص
الافتراضي cursor
في الملخص text
، لذلك قمنا بإعادة تعيين ذلك pointer
للتعبير عن إمكانية التفاعل مع العنصر بالنقر فوقه.
بعض التفاصيل
مزيد من المعلومات حول التفاصيل.
مزيد من التفاصيل
فيما يلي مزيد من التفاصيل حول التفاصيل.
[hidden]
سمة HTML5
يضيف HTML5 سمة عامة جديدة مسماة[hidden]
، والتي تم تصميمها display: none
افتراضيًا. استعارة فكرة من PureCSS ، نقوم بتحسين هذا الوضع الافتراضي من خلال [hidden] { display: none !important; }
المساعدة في منع display
تجاوزها عن طريق الخطأ.
<input type="text" hidden>
عدم توافق jQuery
[hidden]
غير متوافق مع طرق $(...).hide()
وأساليب jQuery $(...).show()
. لذلك ، لا نؤيد حاليًا بشكل خاص [hidden]
التقنيات الأخرى لإدارة display
العناصر.
لمجرد تبديل رؤية عنصر ما ، بمعنى display
أنه لم يتم تعديله ولا يزال بإمكان العنصر التأثير على تدفق المستند ، استخدم الفئة.invisible
بدلاً من ذلك.