【问题标题】:Bootstrap - Best practices on nesting - rows & spansBootstrap - 嵌套最佳实践 - 行和跨度
【发布时间】:2023-04-08 22:22:01
【问题描述】:

使用嵌套的最佳方式是什么。

行内有多个跨度 - 动态内容:

  • 每 12 列一行?
  • 或者,一行任意列?

示例案例 n°1 - 哪一个是最好的?为什么? :

<div class="row">
    <span class="span6"></span>
    <span class="span6"></span>
    <span class="span6"></span>
    <span class="span6"></span>
</div>

或者

<div class="row">
    <div class="span6"></div>
    <div class="span6"></div>
</div>
<div class="row">
    <div class="span6"></div>
    <div class="span6"></div>
</div>

示例案例 n°2 - 用于组织内容的更多级别。

在这里,使用 div "my_margin" 在左右添加一些边距 - 您必须在其周围添加 "first_row"。

所以是: row-->span10,offset1-->row-->SPANS

<div id="first_row" class="row">
    <div id="my_margin" class="span10 offset1">
        <div class="row">
            <div class="span6"></div>
            <div class="span6"></div>
            <div class="span6"></div>
            <div class="span6"></div>
        </div>
    </div>
</div>

或者,

您不应该使用 span10,offset1 而是使用直接边距;

在这种情况下,您必须为每个 @Media_size 创建规则以使其具有响应性。

<div style="margin-right:XYpx; margin-left:XYpx" class="row">
    <div class="span6"></div>
    <div class="span6"></div>
    <div class="span6"></div>
    <div class="span6"></div>
</div>

或者 - Spans '应该' 用于您的主要内容,然后您只需使用 css。所以,类似的事情:

<div row>
    <div class="span6">
        http://jsfiddle.net/JkPhw/
    <div class="span6">
    <div class="span6">
        http://jsfiddle.net/JkPhw/
    <div class="span6">
</div>

【问题讨论】:

  • 向网格行添加左/右边距时不会出现问题吗?还是您使用的是流体网格?
  • 嗯,是的,这有点棘手;目前我正在使用示例 2 中的第一个解决方案;但我不确定这是您应该使用 Bootstrap 跨度的方式。在某些情况下,我最终会得到 row-->span-->row-->span-->row-->span-->row... 这似乎太多了,但这正是我所需要的。我想知道引导跨度是否最初应该用于组织页面上的“主”框,然后您只需使用普通 css 来做您想做的事情。

标签: css twitter-bootstrap row nested


【解决方案1】:

对于案例 n°1:

这取决于,例如,如果您有一个包含九个预告片的列表,其中三个预告片填满一行,我会用一行来完成:

<ul class="row">
    <li class="span4"></li>
    <li class="span4"></li>
    <li class="span4"></li>
    <!-- six more -->
</ul>

如果您使用网格来布局表单,我会为每个标签输入对制作一行:

<!-- one label-input pair does not fill the whole content width -->
<form>
    <div class="row">
        <label class="span3"></label>
        <input class="span5" />
    </div>
    <div class="row">
        <label class="span3"></label>
        <input class="span5" />
    </div>
    <!-- and so on -->
</form>

我认为您不应该制作一个网格并将您的内容放在不同的网格单元格中进行布局,而是构建语义正确的标记并应用网格来布局内容(微小的差异)。

PS:记住box-sizing。

至 n°2:

我不太明白那里的想法,如果您使用的是网格,则不应对其应用左/右边距。网格取决于其水平边距才能正常工作...如果您必须更改它以使您的前端与设计相匹配,它可能不再在网格中。

更新:不过,如果您的内容较小,我肯定会使用您的第一个示例。但使用正确的网格跨度宽度:

<article class="row">
    <header class="span12"></header>
    <div class="span10 offset1">
        <div class="row">
            <div class="span5"></div>
            <div class="span5"></div>
        </div>
    </div>
</article>

【讨论】:

  • 更多关于“我的案例”中的 n°2 的信息 --> frenchdelicious.com/tmp.jpg
  • 哦,那太好了,10 行中有六个跨度:D。这实际上不再在您的网格中,只有当您有一个流体网格时它才会“工作”,因为跨度会在您给它们的任何行内调整。但请记住,由于百分比边距,跨度之间的空间会比页面其余部分的空间稍小...
  • 我明白你的意思,但我应该摆脱那些跨度和行并使其“通过纯 CSS”吗?
猜你喜欢
  • 2014-05-31
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 2011-07-12
  • 1970-01-01
  • 2023-03-23
  • 2017-12-12
相关资源
最近更新 更多