Bootstrap е изграден върху адаптивна решетка с 12 колони. Ние също така включихме оформления с фиксирана и течна ширина, базирани на тази система.
Bootstrap използва HTML елементи и CSS свойства, които изискват използването на HTML5 doctype. Не забравяйте да го включите в началото на всяка 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 колони , които се изобразяват на ширини от 724px, 940px (по подразбиране без включен CSS отзивчив) и 1170px. Под прозорците за изглед от 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 |
60px | Ширина на всяка колона |
@gridGutterWidth |
20px | Отрицателно пространство между колоните |
В Bootstrap са вградени няколко променливи за персонализиране на мрежовата система от 940px по подразбиране, документирана по-горе. Всички променливи за мрежата се съхраняват във variables.less.
Модифицирането на мрежата означава промяна на трите @grid*
променливи и повторно компилиране на Bootstrap. Променете променливите на мрежата във variables.less и използвайте един от четирите документирани начина за повторно компилиране . Ако добавяте повече колони, не забравяйте да добавите CSS за тези в grid.less.
Персонализирането на мрежата работи само на нивото по подразбиране, мрежата от 940 пиксела. За да поддържате отзивчивите аспекти на Bootstrap, ще трябва също да персонализирате решетките в responsive.less.
Стандартното и просто центрирано оформление с ширина 940 пиксела за почти всеки уебсайт или страница, предоставено от един <div class="container">
.
- <тяло>
- <div class = "контейнер" >
- ...
- </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 поддържа няколко медийни заявки в един файл, за да ви помогне да направите вашите проекти по-подходящи за различни устройства и разделителни способности на екрана. Ето какво е включено:
Етикет | Ширина на оформлението | Ширина на колоната | Ширина на улука |
---|---|---|---|
Смартфони | 480px и по-долу | Течни колони, без фиксирани ширини | |
Смартфони към таблети | 767px и по-долу | Течни колони, без фиксирани ширини | |
Таблетки за портрети | 768px и повече | 42px | 20px |
По подразбиране | 980px и нагоре | 60px | 20px |
Голям дисплей | 1200px и нагоре | 70px | 30px |
За да гарантирате, че устройствата показват правилно адаптивни страници, включете мета тага на прозореца за изглед.
- <meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
Bootstrap не включва автоматично тези медийни заявки, но разбирането и добавянето им е много лесно и изисква минимална настройка. Имате няколко опции за включване на отзивчивите функции на Bootstrap:
Защо просто не го включите? Честно казано, не всичко трябва да е отзивчиво. Вместо да насърчаваме разработчиците да премахнат тази функция, смятаме, че е най-добре да я активираме.
- /* Хоризонтални телефони и надолу */
- @media ( максимална ширина : 480px ) { ... } _
- /* Хоризонтален телефон към портретен таблет */
- @media ( максимална ширина : 767px ) { ... } _
- /* Портретен таблет към пейзажен и работен плот */
- @media ( мин . ширина : 768px ) и ( макс . ширина : 979px ) { ... }
- /* Голям работен плот */
- @media ( мин - ширина : 1200px ) { ... }
За по-бързо разработка, удобна за мобилни устройства, използвайте тези основни помощни класове за показване и скриване на съдържание по устройство.
Използвайте ограничено и избягвайте да създавате напълно различни версии на един и същи сайт. Вместо това ги използвайте, за да допълните представянето на всяко устройство.
Например, можете да покажете <select>
елемент за навигация на мобилни оформления, но не и на таблети или настолни компютри.
Тук е показана таблица на поддържаните от нас класове и техния ефект върху дадено оформление на медийна заявка (обозначено по устройство). Те могат да бъдат намерени в responsive.less
.
Клас | телефони480px и по-долу | Таблетки767px и по-долу | Настолни компютри768px и повече |
---|---|---|---|
.visible-phone |
Видими | Скрити | Скрити |
.visible-tablet |
Скрити | Видими | Скрити |
.visible-desktop |
Скрити | Скрити | Видими |
.hidden-phone |
Скрити | Видими | Видими |
.hidden-tablet |
Видими | Скрити | Видими |
.hidden-desktop |
Видими | Видими | Скрити |
Преоразмерете браузъра си или заредете на различни устройства, за да тествате горните класове.
Зелените отметки показват, че класът е видим в текущия ви прозорец.
Тук зелените отметки показват, че класът е скрит в текущия ви прозорец.