html - Bootstrap 中的行是否需要直接父级?

标签 html css twitter-bootstrap twitter-bootstrap-3

Bootstrap 3 文档说:

Rows must be placed within a .container for proper alignment and padding.

这是否意味着它们的祖先之一应该是容器,或者它们的直接父代应该是容器?

看过示例后,我认为前一种解释是正确的,因为容器具有针对特定显示尺寸的固定宽度:

@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
  ...
}

因此它们不能放置在其他组件中(例如 .panel-bodys)。

换句话说,Bootstrap 3 中的以下标记是否正确?

<div class="panel panel-primary">
    <div class="panel-heading">
        <h3 class="panel-title">Title</h3>
    </div>
    <div class="panel-body">
        <div class="row">
            <div class="col-xs-6">
                Col 1
            </div>
            <div class="col-xs-6">
                Col 2
            </div>
        </div>
    </div>
</div>  

最佳答案

这意味着他们的祖先之一应该是一个.container

正如文档所述,您的代码是正确的:

Note that, due to padding and fixed widths, containers are not nestable by default.

关于为什么行需要在 .container 中的一些信息。

行有 margin-left: -15px;右边距:-15px。那是因为行应该只包含列,例如col-md-12,这些列有 padding-left: 15px; padding-right: 15px.因此,行上的负边距意味着有效的列将与网格边缘“齐平”。

因为那个负边距,你需要有 .container 因为它有 padding-left: 15px; padding-right: 15px;.否则,您的行将离开页面。

全宽设计

当然,如果您确实将所有内容都包装在 .container 中,那么您将拥有固定的宽度,这并不适合所有人。所以,如果你不想这样,你可以违反 Bootstrap 的规则,将你的 rows 放在具有 padding: 0 15px 的父级中以抵消行上的负边距(这会导致容器离开屏幕并导致滚动条)。

This demo shows both situations described above .

关于html - Bootstrap 中的行是否需要直接父级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20963625/

相关文章:

html - 试图理解 float 和文本

javascript - 相对位置

html - 跨度在 anchor 内或 anchor 在跨度内还是无关紧要?

javascript - 如何在不修改div的情况下增加textarea的宽度?

javascript - 更改Select2的默认字体

css - Vanilla Bootstrap : 12 columns go beyond the screen

android - 有没有类似于 Bootstrap Grid System 的原生 Android 布局?

twitter-bootstrap - 在与页面标题和 Logo 相同的级别显示导航栏

HTML 初学者 : code won't send email via form

javascript - 在没有 CSS 的情况下对 HTML5 视频应用过滤器