Bootstrap побудовано на адаптивній сітці з 12 стовпців. Ми також включили макети з фіксованою та рідкою шириною на основі цієї системи.
Bootstrap використовує елементи HTML і властивості CSS, які потребують використання документа HTML5. Обов’язково додайте його на початку кожної сторінки Bootstrapped у вашому проекті.
- <!DOCTYPE html>
- <html lang = "en" >
- ...
- </html>
У файлі scaffolding.less ми встановлюємо базові глобальні стилі відображення, типографіки та посилань. Зокрема, ми:
background-color: white;
наbody
@baseFontFamily
, @baseFontSize
і @baseLineHeight
як нашу типографічну базу@linkColor
та застосовуйте підкреслення посилання лише на:hover
Починаючи з Bootstrap 2, традиційне скидання CSS еволюціонувало, щоб використовувати елементи з Normalize.css , проекту Ніколаса Галлагера , який також є основою шаблону HTML5 .
Нове скидання все ще можна знайти в reset.less , але багато елементів видалено для стислості та точності.
Система сітки за замовчуванням, яка є частиною Bootstrap, є сіткою з 12 стовпців шириною 940 пікселів .
Він також має чотири адаптивні варіанти для різних пристроїв і роздільної здатності: телефон, планшет у портретній орієнтації, планшет у альбомній орієнтації та невеликі робочі столи, а також великі широкоформатні робочі столи.
- <div class = "row" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Як показано тут, базовий макет можна створити за допомогою двох «стовпців», кожен з яких охоплює кілька з 12 основних стовпців, які ми визначили як частину нашої сітки.
- <div class = "row" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset4" > ... </div>
- </div>
Завдяки статичній (неплинній) системі сіток у Bootstrap створення гнізд є простим. Щоб вкласти свій вміст, просто додайте новий .row
і набір .span*
стовпців у наявний .span*
стовпець.
Вкладені рядки повинні включати набір стовпців, які в сумі дорівнюють кількості стовпців батьківського рядка. Наприклад, два вкладені .span3
стовпці мають бути розміщені в межах .span6
.
- <div class = "row" >
- <div class = "span12" >
- 1 рівень колонки
- <div class = "row" >
- <div class = "span6" > Рівень 2 </div>
- <div class = "span6" > Рівень 2 </div>
- </div>
- </div>
- </div>
Система рідкої сітки використовує відсотки для ширини стовпців замість фіксованих пікселів. Він також має такі ж адаптивні варіації, як і наша система фіксованої сітки, що забезпечує правильні пропорції для основних роздільних здатностей екрана та пристроїв.
Зробіть будь-який рядок плавним, просто змінивши .row
на .row-fluid
. Стовпці залишаються незмінними, що робить надзвичайно простим перемикання між фіксованим і плавним макетами.
- <div class = "row-fluid" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Вкладення з плавними сітками дещо відрізняється: кількість вкладених стовпців не обов’язково збігається з батьківським. Натомість ваші стовпці скидаються на кожному рівні, оскільки кожен рядок займає 100% батьківського стовпця.
- <div class = "row-fluid" >
- <div class = "span12" >
- 1 рівень колонки
- <div class = "row-fluid" >
- <div class = "span6" > Рівень 2 </div>
- <div class = "span6" > Рівень 2 </div>
- </div>
- </div>
- </div>
змінна | Значення за замовчуванням | опис |
---|---|---|
@gridColumns |
12 | Кількість стовпців |
@gridColumnWidth |
60 пікселів | Ширина кожного стовпчика |
@gridGutterWidth |
20 пікселів | Негативний проміжок між стовпцями |
У Bootstrap вбудовано кілька змінних для налаштування системи сітки за замовчуванням 940 пікселів, задокументованої вище. Усі змінні для сітки зберігаються у variables.less.
Зміна сітки означає зміну трьох @grid*
змінних і перекомпіляцію Bootstrap. Змініть змінні сітки у variables.less і скористайтеся одним із чотирьох задокументованих способів перекомпіляції . Якщо ви додаєте більше стовпців, обов’язково додайте CSS для тих у grid.less.
Налаштування сітки працює лише на рівні за замовчуванням, сітки 940 пікселів. Щоб зберегти адаптивні аспекти Bootstrap, вам також доведеться налаштувати сітки в responsive.less.
Стандартний і простий макет шириною 940 пікселів по центру майже для будь-якого веб-сайту чи сторінки, наданий одним <div class="container">
.
- <тіло>
- <div class = "container" >
- ...
- </div>
- </body>
<div class="container-fluid">
надає гнучку структуру сторінки, мінімальну та максимальну ширини та ліву бічну панель. Це чудово для додатків і документів.
- <div class = "container-fluid" >
- <div class = "row-fluid" >
- <div class = "span2" >
- <!--Вміст бічної панелі-->
- </div>
- <div class = "span10" >
- <!--Вміст тіла-->
- </div>
- </div>
- </div>
Медіа-запити дозволяють створювати настроювані CSS на основі ряду умов — співвідношення, ширини, типу відображення тощо, але зазвичай зосереджуються навколо min-width
та max-width
.
Використовуйте медіа-запити відповідально та лише як початок вашої мобільної аудиторії. Для великих проектів розгляньте виділені бази коду, а не рівні медіа-запитів.
Bootstrap підтримує кілька медіа-запитів в одному файлі, щоб допомогти зробити ваші проекти більш відповідними для різних пристроїв і роздільної здатності екрана. Ось що включено:
Мітка | Ширина макета | Ширина колонки | Ширина ринви |
---|---|---|---|
Смартфони | 480 пікселів і нижче | Рідкі колони, без фіксованої ширини | |
Смартфони на планшети | 767px і нижче | Рідкі колони, без фіксованої ширини | |
Таблички портретні | 768px і вище | 42 пікселів | 20 пікселів |
За замовчуванням | 980 пікселів і більше | 60 пікселів | 20 пікселів |
Великий дисплей | 1200 пікселів і більше | 70 пікселів | 30 пікселів |
Щоб забезпечити належне відображення адаптивних сторінок на пристроях, додайте мета-тег вікна перегляду.
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:
Why not just include it? Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.
- // Landscape phones and down
- @media (max-width: 480px) { ... }
- // Landscape phone to portrait tablet
- @media (max-width: 767px) { ... }
- // Portrait tablet to landscape and desktop
- @media (min-width: 768px) and (max-width: 979px) { ... }
- // Large desktop
- @media (min-width: 1200px) { ... }
For faster mobile-friendly development, use these basic utility classes for showing and hiding content by device.
Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.
For example, you might show a <select>
element for nav on mobile layouts, but not on tablets or desktops.
Shown here is a table of the classes we support and their effect on a given media query layout (labeled by device). They can be found in responsive.less
.
Class | Phones 480px and below | Tablets 767px and below | Desktops 768px and above |
---|---|---|---|
.visible-phone |
Visible | Hidden | Hidden |
.visible-tablet |
Hidden | Visible | Hidden |
.visible-desktop |
Hidden | Hidden | Visible |
.hidden-phone |
Hidden | Visible | Visible |
.hidden-tablet |
Visible | Hidden | Visible |
.hidden-desktop |
Visible | Visible | Hidden |
Resize your browser or load on different devices to test the above classes.
Green checkmarks indicate that class is visible in your current viewport.
Тут зелені позначки вказують на те, що клас приховано у вашому поточному вікні перегляду.