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 Boilerplate .
Нове скидання все ще можна знайти в reset.less , але багато елементів видалено для стислості та точності.
Система сітки за замовчуванням у Bootstrap використовує 12 стовпців , які відображаються з шириною 724 пікселів, 940 пікселів (за замовчуванням без адаптивного CSS) і 1170 пікселів. Нижче вікон перегляду 767 пікселів стовпці стають плавними та розташовуються вертикально.
- <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 = "span6" >
- Колонка 1 рівня
- <div class = "row" >
- <div class = "span3" > Рівень 2 </div>
- <div class = "span3" > Рівень 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 не включає автоматично ці медіа-запити, але зрозуміти та додати їх дуже легко та вимагає мінімального налаштування. У вас є кілька варіантів для включення адаптивних функцій Bootstrap:
Чому б просто не включити його? По правді кажучи, не на все потрібно реагувати. Замість того, щоб заохочувати розробників видалити цю функцію, ми вважаємо за краще її ввімкнути.
- /* Альбом телефонів і вниз */
- @media ( max - width : 480px ) { ... }
- /* Орієнтація телефону в горизонтальну орієнтацію на планшет у книжковій орієнтації */
- @media ( max - width : 767px ) { ... }
- /* Книжкова орієнтація планшета на альбомну та робочий стіл */
- @media ( min - width : 768px ) і ( max - width : 979px ) { ... }
- /* Великий робочий стіл */
- @media ( min - width : 1200px ) { ... }
Для швидшої розробки, адаптованої до мобільних пристроїв, використовуйте ці базові класи утиліт для показу та приховування вмісту на пристрої.
Використовуйте обмежено та уникайте створення абсолютно різних версій одного сайту. Натомість використовуйте їх, щоб доповнити презентацію кожного пристрою.
Наприклад, ви можете відображати <select>
елемент для навігації на мобільних макетах, але не на планшетах чи настільних комп’ютерах.
Тут показано таблицю класів, які ми підтримуємо, і їх вплив на даний макет медіа-запиту (позначений пристроєм). Їх можна знайти в responsive.less
.
Клас | телефони480 пікселів і нижче | Таблетки767px і нижче | Настільні комп'ютери768px і вище |
---|---|---|---|
.visible-phone |
Видно | Прихований | Прихований |
.visible-tablet |
Прихований | Видно | Прихований |
.visible-desktop |
Прихований | Прихований | Видно |
.hidden-phone |
Прихований | Видно | Видно |
.hidden-tablet |
Видно | Прихований | Видно |
.hidden-desktop |
Видно | Видно | Прихований |
Змініть розмір веб-переглядача або завантажте на різних пристроях, щоб перевірити наведені вище класи.
Зелені позначки вказують на те, що клас видно у вашому поточному вікні перегляду.
Тут зелені галочки вказують на те, що клас приховано у вашому поточному вікні перегляду.