Пожалуйста, объясните мне, когда следует использовать классы container
и row
. Я не уверен, потому что документация Bootstrap довольно неясна в этой части.
Я использую Bootstrap 3.
Пожалуйста, объясните мне, когда следует использовать классы container
и row
. Я не уверен, потому что документация Bootstrap довольно неясна в этой части.
Я использую Bootstrap 3.
container
- это контейнер элементов row
.
row
Элементы - это контейнеры столбцов (документы называют его сеткой)
Кроме того, container
устанавливает поля содержимого, относящиеся к отзывчивому поведению вашего макета.
Таким образом, класс container
часто используется для создания содержимого "в штучной упаковке" на основе правил стиля проекта Bootstrap.
Если вы хотите пойти "из коробки", создавая сетку полной ширины, вы можете использовать только элементы row
со столбцами внутри (охватывая обычное общее количество 12cols).
Классы container
и row
предназначены для элементов внутри тела.
Таким образом, базовый макет будет выглядеть следующим образом:
<html>
<body>
<div class="container">
<div class="row">
<div class="col-md-xx"></div>
...
</div>
<div class="row">
<div class="col-md-xx"></div>
...
</div>
</div>
</body>
</html>
Для макета с коротким откликом.
Если вы опустите container
, вы получите полноразмерный макет.
Jumbotron - хороший пример поведения container
. Если вы помещаете элемент Jumbotron в элемент container
, он имеет закругленные границы и фиксированную ширину на основе чувствительной ширины.
Если Jumbotron находится за пределами контейнера, он охватывает всю ширину без границ.
Мне было интересно о том же и понять, что я прошел через bootstrap.css
версии 3. Ответ лежит в строке №. От 1585 до 1605. Я отправлю эти строки здесь для лучшего понимания, как показано ниже.
.container
{
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
@media (min-width: 768px) {
.container {
width: 750px;
}
}
@media (min-width: 992px) {
.container {
width: 970px;
}
}
@media (min-width: 1200px) {
.container {
width: 1170px;
}
}
Весь код является самоочевидным. Однако, чтобы уточнить, контейнер будет принимать 750px
, если ширина экрана находится между 768px
и 992px
и так далее, как показывает код. Теперь, для общего разрешения экрана более 1200, контейнер будет принимать 1170px
, но вычитая отступы 30 px
(15px+15px
), действующее свободное пространство будет 1140px
, которое центрируется на экране в качестве поля слева и справа установлено на авто.
Теперь, в случае class="row"
, существует код ниже:
.row {
margin-right: -15px;
margin-left: -15px;
}
Итак, если строка находится внутри контейнера, она эффективно захватывает отступы по 15 пикселей каждую сторону от контейнера и использует полное пространство. Но если строка класса находится внутри тега body, она будет стремиться перемещаться из видимой области как в левую, так и в правую сторону браузера из-за отрицательных полей.
Надеюсь, это было ясно.
Container
В контейнере предусмотрены ограничения ширины на чувствительной ширине. Когда изменяются изменчивые размеры, меняется его контейнер. Строки и столбцы основаны на процентах, поэтому их не нужно менять. Обратите внимание, что на каждой стороне есть край 15px, отмененный строками.
Ряды
Строки всегда должны быть в контейнере.
Строка предоставляет столбцам место для жизни, в идеале имеющее столбцы, которые добавляют до 12. Он также действует как обертка, так как все столбцы плавают влево, дополнительные строки не имеют перекрытий, когда поплавки становятся странными.
Строки также имеют отрицательный запас 15px с каждой стороны. Дива, который составляет строку, обычно ограничивается внутри заполнения контейнеров, касаясь краев розовой области, но не за ее пределами. 15px отрицательные поля выталкивают строку поверх верхней части контейнера 15px, что фактически отрицает ее. Кроме того, строки гарантируют вам, что все из них внутри отображаются в отдельной строке, отделенной от предыдущей и следующих строк.
Столбцы
У столбцов теперь есть 15px padding. Это дополнение означает, что столбцы на самом деле касаются края строки, которая сама касается края контейнера, так как строка имеет отрицательный запас, а контейнер имеет положительное дополнение. Но заполнение столбца подталкивает что-либо внутри столбца туда, где оно должно быть, а также обеспечивает 30px желоба между столбцами. Никогда не используйте столбец за пределами строки, он не будет работать.
Для получения дополнительной информации я предлагаю вам прочитать эту статью. Это действительно ясно и объясняет, как работает система сетки Bootstrap.
"контейнер контейнера" обертывает содержимое в пределах порта центра представления. Весь контент с тегом body может быть помещен в результаты страницы, отображаемой указанной ширины в центре страницы.
Класс 'row' используется, когда вам нужно размещать содержимое в столбцах по строке, вы можете иметь до 12 столбцов в общей сложности в каждой строке.
В традиционных методах CSS вы, вероятно, будете использовать следующие классы:
wrapper, header, navigator, contents, footer
использование вышеуказанных классов может выглядеть следующим образом:
<body>
<div class="wrapper">
<div class="header">
</div>
<div class="navigator">
</div>
<div class="content">
</div>
<div class="footer">
</div>
</div>
</body>
В бутстрапе вы можете использовать, если хотите, или если вы используете этот шаблон, классы начальной загрузки, подобные этому примеру:
<body>
<div class="container">
<div class="col-md-12">
<h1>Header</h1>
<p>Header contents goes here</p>
</div>
<div class="col-md-12">
<nav role="navigation" class="nav navbar">
<h1>Navigation</h1>
<p>Navigation contents goes here</p>
</nav>
</div>
<div class="col-md-12">
<div class="pagination">
<h1>Page contents</h1>
<p>Webpage contents goes here</p>
</div>
</div>
<div class="col-lg-12">
<h1>Footer contents</h1>
<p>footer contents goes here</p>
</div>
</div>
</body>
Для класса строк вы можете использовать класс строк, если хотите создать табличный макет для страницы, но когда вы хотите отображать данные в формате таблицы, вы должны использовать класс таблицы, но таблица не будет реагировать.
Чтобы создать табличный макет, отличный от таблиц данных, используйте класс строк, как в этом примере:
<body>
<div class="container">
<div class="row">
<div class="col-sm-4" >.col-sm-4</div>
<div class="col-sm-4" >.col-sm-4</div>
<div class="col-sm-4" >.col-sm-4</div>
</div>
</div>
</body>
Вы должны попытаться избежать использования табличного макета и попытаться использовать гибкие таблицы, как описано здесь
Вам нужно использовать .container, когда вам нужно создать фиксированный блок, макет.
.row, мы используем внутри него, чтобы иметь гибкий контент внутри нашего контейнера.
.container класс имеет значения по умолчанию для экранов: small - 750px, medium - 970px, large - 1170px.