Bootstrap построен на адаптивной сетке из 12 столбцов. Мы также включили макеты с фиксированной и гибкой шириной на основе этой системы.
Система сетки по умолчанию, предоставляемая как часть Bootstrap, представляет собой сетку шириной 940 пикселей с 12 столбцами .
Он также имеет четыре адаптивных варианта для различных устройств и разрешений: телефон, портрет планшета, альбомная ориентация стола и маленькие рабочие столы, а также большие широкоэкранные рабочие столы.
- <div класс = "строка" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Как показано здесь, базовый макет может быть создан с двумя «столбцами», каждый из которых охватывает несколько из 12 основных столбцов, которые мы определили как часть нашей системы сетки.
- <div класс = "строка" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset4" > ... </div>
- </div>
Благодаря статической (неизменяемой) сетке в Bootstrap вложение очень просто. Чтобы вложить содержимое, просто добавьте новый .row
и набор .span*
столбцов в существующий .span*
столбец.
Вложенные строки должны включать набор столбцов, которые в сумме равны количеству столбцов его родителя. Например, два вложенных .span3
столбца должны быть размещены в файле .span6
.
- <div класс = "строка" >
- <div класс = "span12" >
- Уровень 1 столбца
- <div класс = "строка" >
- <div class = "span6" > Уровень 2 </div>
- <div class = "span6" > Уровень 2 </div>
- </div>
- </div>
- </div>
Система гибкой сетки использует проценты для ширины столбцов вместо фиксированных пикселей. Он также имеет те же адаптивные варианты, что и наша система с фиксированной сеткой, обеспечивая правильные пропорции для ключевых разрешений экрана и устройств.
Сделайте любую строку плавной, просто изменив .row
ее на .row-fluid
. Столбцы остаются прежними, что упрощает переключение между фиксированным и плавным макетами.
- <div класс = "жидкость строки" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Вложение с плавающими сетками немного отличается: количество вложенных столбцов не обязательно должно совпадать с родительским. Вместо этого ваши столбцы сбрасываются на каждом уровне, потому что каждая строка занимает 100% родительского столбца.
- <div класс = "жидкость строки" >
- <div класс = "span12" >
- Уровень 1 столбца
- <div класс = "жидкость строки" >
- <div class = "span6" > Уровень 2 </div>
- <div class = "span6" > Уровень 2 </div>
- </div>
- </div>
- </div>
Переменная | Значение по умолчанию | Описание |
---|---|---|
@gridColumns |
12 | Число столбцов |
@gridColumnWidth |
60 пикселей | Ширина каждой колонки |
@gridGutterWidth |
20 пикселей | Негативное пространство между столбцами |
@siteWidth |
Вычисленная сумма всех столбцов и желобов | Подсчитывает количество столбцов и желобов для установки ширины .container-fixed() миксина |
В Bootstrap встроено несколько переменных для настройки системы сетки по умолчанию 940px, описанной выше. Все переменные сетки хранятся в файле variable.less.
Изменение сетки означает изменение трех @grid*
переменных и перекомпиляцию Bootstrap. Измените переменные сетки в variable.less и используйте один из четырех задокументированных способов перекомпиляции . Если вы добавляете больше столбцов, обязательно добавьте CSS для столбцов в grid.less.
Настройка сетки работает только на уровне по умолчанию, сетке 940 пикселей. Чтобы сохранить отзывчивые аспекты Bootstrap, вам также придется настроить сетки в responsive.less.
Стандартный и простой центрированный макет шириной 940 пикселей практически для любого веб-сайта или страницы, предоставляемый одним файлом <div class="container">
.
- <тело>
- <div класс = "контейнер" >
- ...
- </div>
- </тело>
<div class="container-fluid">
дает гибкую структуру страницы, минимальную и максимальную ширину и левую боковую панель. Это отлично подходит для приложений и документов.
- <div class = "контейнер-жидкость" >
- <div класс = "жидкость строки" >
- <div класс = "span2" >
- <!--Содержимое боковой панели-->
- </div>
- <div класс = "span10" >
- <!--Содержимое тела-->
- </div>
- </div>
- </div>
Bootstrap поддерживает несколько медиа-запросов в одном файле, чтобы сделать ваши проекты более подходящими для разных устройств и разрешений экрана. Вот что включено:
Этикетка | Ширина макета | Ширина колонки | Ширина желоба |
---|---|---|---|
Смартфоны | 480px и ниже | Гибкие столбцы, без фиксированной ширины | |
Портретные планшеты | от 480 до 768 пикселей | Гибкие столбцы, без фиксированной ширины | |
Ландшафтные планшеты | от 768 до 979 пикселей | 42px | 20 пикселей |
По умолчанию | 980px и выше | 60 пикселей | 20 пикселей |
Большой дисплей | 1210px и выше | 70 пикселей | 30 пикселей |
Чтобы обеспечить правильное отображение адаптивных страниц на устройствах, включите метатег области просмотра.
- <meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
Медиа-запросы позволяют создавать пользовательские CSS на основе ряда условий — соотношений, ширины, типа отображения и т. д. — но обычно фокусируются вокруг min-width
и max-width
.
Bootstrap не включает эти медиа-запросы автоматически, но понять и добавить их очень просто и требует минимальной настройки. У вас есть несколько вариантов включения адаптивных функций Bootstrap:
Почему бы просто не включить его? По правде говоря, не все должно быть отзывчивым. Вместо того, чтобы побуждать разработчиков удалять эту функцию, мы считаем, что лучше включить ее.
- // Телефоны в горизонтальном положении и вниз
- @media ( максимальная ширина : 480 пикселей ) { ... }
- // Телефон с альбомной ориентацией на планшет с портретной ориентацией
- @media ( максимальная ширина : 768 пикселей ) { ... }
- // Планшет с вертикальной ориентации на альбомную и рабочий стол
- @media ( минимальная ширина : 768 пикселей ) и ( максимальная ширина : 980 пикселей ) { ... }
- // Большой рабочий стол
- @media ( минимальная ширина : 1200 пикселей ) { .. }