Bootstrap построен на адаптивных 12-колоночных сетках, макетах и компонентах.
Bootstrap использует определенные элементы HTML и свойства CSS, которые требуют использования типа документа HTML5. Включите его в начале всех ваших проектов.
- <!ДОКТИП HTML>
- <html язык = "ru" >
- ...
- </html>
Bootstrap устанавливает базовые глобальные стили отображения, типографики и ссылок. В частности, мы:
margin
на телеbackground-color: white;
наbody
@baseFontFamily
, @baseFontSize
и @baseLineHeight
в качестве нашей типографской основы@linkColor
и применяйте подчеркивание ссылки только на:hover
Эти стили можно найти в scaffolding.less .
В Bootstrap 2 старый блок сброса был заменен на Normalize.css , проект Николаса Галлахера и Джонатана Нила , который также поддерживает HTML5 Boilerplate . Хотя мы используем большую часть Normalize в нашем reset.less , мы удалили некоторые элементы специально для Bootstrap.
Система сетки Bootstrap по умолчанию использует 12 столбцов , что делает контейнер шириной 940 пикселей без включенных адаптивных функций . С добавлением отзывчивого файла CSS сетка адаптируется к ширине 724px и 1170px в зависимости от вашего окна просмотра. Ниже окна просмотра 767 пикселей столбцы становятся плавными и складываются вертикально.
Для простого макета с двумя столбцами создайте .row
и добавьте соответствующее количество .span*
столбцов. Поскольку это сетка из 12 столбцов, каждый из них .span*
охватывает определенное количество из этих 12 столбцов и всегда должен составлять до 12 для каждой строки (или количества столбцов в родительском элементе).
- <div класс = "строка" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
В этом примере у нас есть .span4
и .span8
, что дает всего 12 столбцов и полную строку.
Переместите столбцы вправо, используя .offset*
классы. Каждый класс увеличивает левое поле столбца на целый столбец. Например, .offset4
перемещает .span4
по четырем столбцам.
- <div класс = "строка" >
- <div class = "span4" > ... </div>
- <div class = "span3 offset2" > ... </div>
- </div>
Чтобы вложить содержимое в сетку по умолчанию, добавьте новый .row
и набор .span*
столбцов в существующий .span*
столбец. Вложенные строки должны включать набор столбцов, которые в сумме равны количеству столбцов его родителя.
- <div класс = "строка" >
- <div класс = "span9" >
- Столбец уровня 1
- <div класс = "строка" >
- <div class = "span6" > Уровень 2 </div>
- <div class = "span3" > Уровень 2 </div>
- </div>
- </div>
- </div>
Система гибкой сетки использует проценты вместо пикселей для ширины столбцов. Он имеет те же возможности реагирования, что и наша система с фиксированной сеткой, обеспечивая правильные пропорции для ключевых разрешений экрана и устройств.
Сделайте любую строку «плавающей», изменив .row
ее на .row-fluid
. Классы столбцов остаются прежними, что позволяет легко переключаться между фиксированными и плавающими сетками.
- <div класс = "жидкость строки" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Работает так же, как смещение системы с фиксированной сеткой: добавьте .offset*
к любому столбцу, чтобы сместить это количество столбцов.
- <div класс = "жидкость строки" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset2" > ... </div>
- </div>
Гибкие сетки используют вложенность по-разному: каждый уровень вложенности столбцов должен составлять до 12 столбцов. Это связано с тем, что в гибкой сетке для установки ширины используются проценты, а не пиксели.
- <div класс = "жидкость строки" >
- <div класс = "span12" >
- Жидкость 12
- <div класс = "жидкость строки" >
- <div класс = "span6" >
- Жидкость 6
- <div класс = "жидкость строки" >
- <div class = "span6" > Жидкость 6 </div>
- <div class = "span6" > Жидкость 6 </div>
- </div>
- </div>
- <div class = "span6" > Жидкость 6 </div>
- </div>
- </div>
- </div>
Предоставляет стандартный макет с фиксированной шириной (и, возможно, адаптивный) только с <div class="container">
обязательными элементами.
- <тело>
- <div класс = "контейнер" >
- ...
- </div>
- </тело>
Создайте плавную двухколоночную страницу с помощью — <div class="container-fluid">
отлично подходит для приложений и документов.
- <div class = "контейнер-жидкость" >
- <div класс = "жидкость строки" >
- <div класс = "span2" >
- <!--Содержимое боковой панели-->
- </div>
- <div класс = "span10" >
- <!--Содержимое тела-->
- </div>
- </div>
- </div>
Включите адаптивный CSS в своем проекте, включив соответствующий метатег и дополнительную таблицу стилей в <head>
свой документ. Если вы скомпилировали Bootstrap со страницы настройки, вам нужно только включить метатег.
- <meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
- <link href = "assets/css/bootstrap-responsive.css" rel = "таблица стилей" >
Берегись!В настоящее время Bootstrap не включает адаптивные функции по умолчанию, так как не все должно быть адаптивным. Вместо того, чтобы побуждать разработчиков удалять эту функцию, мы считаем, что лучше включать ее по мере необходимости.
Медиа-запросы позволяют создавать пользовательские CSS на основе ряда условий — соотношений, ширины, типа отображения и т. д. — но обычно фокусируются вокруг min-width
и max-width
.
Используйте медиа-запросы ответственно и только в качестве начала для вашей мобильной аудитории. Для более крупных проектов рассмотрите выделенные базы кода, а не слои медиа-запросов.
Bootstrap поддерживает несколько медиа-запросов в одном файле, чтобы сделать ваши проекты более подходящими для разных устройств и разрешений экрана. Вот что включено:
Этикетка | Ширина макета | Ширина колонки | Ширина желоба |
---|---|---|---|
Большой дисплей | 1200px и выше | 70 пикселей | 30 пикселей |
По умолчанию | 980px и выше | 60 пикселей | 20 пикселей |
Портретные планшеты | 768px и выше | 42px | 20 пикселей |
Телефоны на планшеты | 767px и ниже | Гибкие столбцы, без фиксированной ширины | |
Телефоны | 480px и ниже | Гибкие столбцы, без фиксированной ширины |
- /* Большой рабочий стол */
- @media ( минимальная ширина : 1200 пикселей ) { ... }
- /* Планшет с портретной ориентацией на альбомную и рабочий стол */
- @media ( минимальная ширина : 768 пикселей ) и ( максимальная ширина : 979 пикселей ) { ... }
- /* Пейзажный телефон на портретный планшет */
- @media ( максимальная ширина : 767 пикселей ) { ... }
- /* Телефоны в горизонтальном положении и вниз */
- @media ( максимальная ширина : 480 пикселей ) { ... }
Для более быстрой разработки с учетом мобильных устройств используйте эти служебные классы для отображения и скрытия контента по устройствам. Ниже приведена таблица доступных классов и их влияние на данный макет медиазапроса (отмечено устройством). Их можно найти в responsive.less
.
Учебный класс | Телефоны767px и ниже | Таблеткиот 979 до 768 пикселей | Настольные компьютерыПо умолчанию |
---|---|---|---|
.visible-phone |
Видимый | Скрытый | Скрытый |
.visible-tablet |
Скрытый | Видимый | Скрытый |
.visible-desktop |
Скрытый | Скрытый | Видимый |
.hidden-phone |
Скрытый | Видимый | Видимый |
.hidden-tablet |
Видимый | Скрытый | Видимый |
.hidden-desktop |
Видимый | Видимый | Скрытый |
Используйте на ограниченной основе и избегайте создания совершенно разных версий одного и того же сайта. Вместо этого используйте их, чтобы дополнить презентацию каждого устройства. Адаптивные утилиты не должны использоваться с таблицами и как таковые не поддерживаются.
Измените размер вашего браузера или загрузите его на разных устройствах, чтобы протестировать вышеуказанные классы.
Зеленые галочки означают, что класс виден в вашем текущем окне просмотра.
Здесь зеленые галочки указывают, что класс скрыт в вашем текущем окне просмотра.