【问题标题】:Use of Bootstrap Container引导容器的使用
【发布时间】:2018-12-11 18:59:03
【问题描述】:

我有一个关于在 Bootstrap 下使用容器的最佳方式是什么的问题。我有以下 4 个选项作为示例,我想知道哪种方法是使用容器的更好方法。差异只是风格而不是实质吗?指定类的顺序是否重要?如果是,最好的顺序是本地定义的第一个还是最后一个?

<!-- Latest JQuery; Must be loaded before Bootstrap -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

<!-- Latest compiled and minified Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<style>

.section-1
{
    background-color: #2f5571;
    font-size: 20px;
    text-align: center; 
    color: #fdfcfc;
    font-family: 'Lato', sans-serif;
    padding: 20px 20px; 
    margin-top: 20px; 
}

</style>


<div class="section-1">
    <p>Some text 1</p>
</div>


<div class="section-1 container">
    <p>Some text 2</p>
</div>


<div class="container section-1">
    <p>Some text 3</p>
</div>


<div class="section-1">
    <div class="container">
        <p>Some text 4</p>
    </div>
</div>

【问题讨论】:

  • 为什么会有人反对这个?这是一个关于如何最有效和正确地使用 Bootstrap/CSS 的合理问题。事实上,关于使用 Bootstrap 容器的 SO 有 7,858 个问题...
  • 你是什么意思?渲染? bootstrap 对渲染时间根本无效。

标签: css bootstrap-4 containers


【解决方案1】:

选项 #1 没有使用容器/网格系统 -- https://getbootstrap.com/docs/4.1/layout/overview/ -- 所以在正确使用 Bootstrap 库(特别是容器)的情况下 -- 这是一个糟糕的选择。

应用 CSS 选择器的顺序不应有任何区别(根据 W3C 规范):

https://www.w3.org/TR/selectors/#specificity

表示选项 #2 和 #3 在功能上相同。

至于你应该如何使用 Bootstrap 的 'container' 类——这取决于你想要实现什么样的布局——

容器是 Bootstrap 中最基本的布局元素,在使用我们的默认网格系统时是必需的。从响应式、固定宽度的容器中选择(意味着它的最大宽度在每个断点处发生变化)或流体宽度(意味着它一直是 100% 宽)[...]

通常,内容会放在容器内,例如:

<div class="container">
    <!-- Content here. -->
</div>

我想,这将是选项 #5。

【讨论】:

  • 我会说 4 和你的 5 是一样的,是最好的选择。
【解决方案2】:

Bootstrap 容器的使用主要基于您要创建的布局类型,以及您希望属性如何应用于主要元素。

关于你的例子:

选项 #1 不使用容器,因此它根本不会受益于它的主要吸引力,即以内容为中心

选项 #2选项 #3 是相同的,因为类顺序不应该对您的标记产生任何影响。

选项 #4 如果您只想将内容居中,但使用完整的可用宽度保留其他元素,则可以使用该选项,如果您希望部分具有不同的背景颜色但保留中心的内容,像这样:

您的最后一个选项是在全局 divsection 上使用 .container,以便页面上的所有内容保持居中。

另外,如果您使用container-fluid,容器将展开以使用完整的视口宽度,这可能是某些布局所需要的,并且当屏幕太宽时与其他布局不能很好地配合,最终看起来像这样:

【讨论】:

  • 我不知道有一个全局的方法来设置一个容器。话虽如此,我确实有一些全宽的内容,但这是个例外。我主要使用上面的选项 4。
  • 是的,不会将其称为 全局方式 本身,它只是将所有内容装箱到主 div 中,以避免每次都重复 container 类如果您无论如何都要将所有内容居中,则在每个部分中
  • 在每个部分重复容器是我所做的。如果它可以被我想要全宽显示的少数实例覆盖,我想清理它。有没有常用的地方比如主css文件来设置容器?我在每个页面上都包含了页眉和页脚,所以如果没有更优雅的方法,我想我可以将其放入其中。
  • 嗯,不完全像你说的那样,记住container 只是另一个 Bootstrap 类,所以我的意思是,如果你要将页面上的所有内容居中,不管样式,您可以只创建一个全局 divsection o main 等,并在其中添加 container 类,然后您包含在该全局 div 中的所有其他元素都将居中
  • 这很有帮助。谢谢你的例子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
  • 2020-05-15
  • 2020-11-25
  • 1970-01-01
相关资源
最近更新 更多