Source

Огляд

Компоненти та параметри для компонування вашого проекту Bootstrap, включаючи обгортання контейнерів, потужну систему сітки, гнучкий медіа-об’єкт і адаптивні класи утиліт.

Контейнери

Контейнери є найпростішим елементом макета в Bootstrap і є обов’язковими під час використання нашої сітки за замовчуванням . Виберіть із адаптивного контейнера фіксованої ширини (це означає, що він max-widthзмінюється на кожній точці зупинки) або рідинної ширини (це означає, що він 100%весь час широкий).

Хоча контейнери можуть бути вкладеними, більшість макетів не вимагають вкладеного контейнера.

<div class="container">
  <!-- Content here -->
</div>

Використовуйте .container-fluidдля контейнера повної ширини, що охоплює всю ширину вікна перегляду.

<div class="container-fluid">
  ...
</div>

Чуйні точки зупину

Оскільки Bootstrap розроблено перш за все для мобільних пристроїв, ми використовуємо кілька медіа-запитів , щоб створити розумні точки зупину для наших макетів та інтерфейсів. Ці контрольні точки здебільшого базуються на мінімальній ширині вікна перегляду та дозволяють нам збільшувати масштаб елементів у міру зміни вікна перегляду.

Bootstrap переважно використовує наведені нижче діапазони медіа-запитів або точки зупину в наших вихідних файлах Sass для нашого макета, системи сітки та компонентів.

// Extra small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

Оскільки ми пишемо вихідний CSS у Sass, усі наші медіа-запити доступні через міксини Sass:

// No media query necessary for xs breakpoint as it's effectively `@media (min-width: 0) { ... }`
@include media-breakpoint-up(sm) { ... }
@include media-breakpoint-up(md) { ... }
@include media-breakpoint-up(lg) { ... }
@include media-breakpoint-up(xl) { ... }

// Example: Hide starting at `min-width: 0`, and then show at the `sm` breakpoint
.custom-class {
  display: none;
}
@include media-breakpoint-up(sm) {
  .custom-class {
    display: block;
  }
}

Час від часу ми використовуємо медіа-запити, які йдуть в іншому напрямку (даного розміру екрана або менше ):

// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }

// Small devices (landscape phones, less than 768px)
@media (max-width: 767.98px) { ... }

// Medium devices (tablets, less than 992px)
@media (max-width: 991.98px) { ... }

// Large devices (desktops, less than 1200px)
@media (max-width: 1199.98px) { ... }

// Extra large devices (large desktops)
// No media query since the extra-large breakpoint has no upper bound on its width

Зауважте, що оскільки веб-переглядачі наразі не підтримують контекстні запити діапазону , ми обходимо обмеження, min-префікси max-та вікна перегляду з дробовою шириною (що може виникнути за певних умов, наприклад, на пристроях з високою роздільною здатністю), використовуючи для цих порівнянь значення з вищою точністю. .

Знову ж таки, ці медіа-запити також доступні через міксини Sass:

@include media-breakpoint-down(xs) { ... }
@include media-breakpoint-down(sm) { ... }
@include media-breakpoint-down(md) { ... }
@include media-breakpoint-down(lg) { ... }
// No media query necessary for xl breakpoint as it has no upper bound on its width

// Example: Style from medium breakpoint and down
@include media-breakpoint-down(md) {
  .custom-class {
    display: block;
  }
}

Існують також медіа-запити та міксини для націлювання на один сегмент розмірів екрана з використанням мінімальної та максимальної ширини точки зупину.

// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) and (max-width: 767.98px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) and (max-width: 991.98px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) and (max-width: 1199.98px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

Ці медіа-запити також доступні через міксини Sass:

@include media-breakpoint-only(xs) { ... }
@include media-breakpoint-only(sm) { ... }
@include media-breakpoint-only(md) { ... }
@include media-breakpoint-only(lg) { ... }
@include media-breakpoint-only(xl) { ... }

Подібним чином медіа-запити можуть охоплювати кілька ширин точок зупину:

// Example
// Apply styles starting from medium devices and up to extra large devices
@media (min-width: 768px) and (max-width: 1199.98px) { ... }

Суміш Sass для націлювання на той самий діапазон розміру екрана буде:

@include media-breakpoint-between(md, xl) { ... }

Z-індекс

Кілька компонентів Bootstrap використовують z-indexвластивість CSS, яка допомагає контролювати макет, надаючи третю вісь для впорядкування вмісту. Ми використовуємо шкалу z-індексу за замовчуванням у Bootstrap, яка була розроблена для належної навігації, підказок і спливаючих вікон, модальних елементів тощо.

Ці вищі значення починаються з довільного числа, достатньо високого та конкретного, щоб ідеально уникнути конфліктів. Нам потрібен стандартний набір цих елементів для наших багатошарових компонентів — підказок, спливаючих вікон, навігаційних панелей, спадних меню, модальних — щоб ми могли бути достатньо послідовними у поведінці. Немає причин, чому ми не могли б використати 100+ або 500+.

Ми не заохочуємо налаштування цих індивідуальних значень; якщо ви зміните один, вам, швидше за все, доведеться змінити їх усі.

$zindex-dropdown:          1000 !default;
$zindex-sticky:            1020 !default;
$zindex-fixed:             1030 !default;
$zindex-modal-backdrop:    1040 !default;
$zindex-modal:             1050 !default;
$zindex-popover:           1060 !default;
$zindex-tooltip:           1070 !default;

Для обробки меж компонентів, що перекриваються (наприклад, кнопок і входів у групах вводу), ми використовуємо низькі однозначні z-indexзначення 1, 2і 3для станів за замовчуванням, наведення та активного стану. При наведенні/фокусуванні/активності ми виводимо певний елемент на передній план із вищим z-indexзначенням, щоб показати його межу над однотипними елементами.