【问题标题】:Bootstrap how to foreach with columns insideBootstrap 如何使用里面的列进行 foreach
【发布时间】:2016-10-19 09:11:29
【问题描述】:

我有一个 foreach,我想放置 4 列,然后换成新行并重新开始,但由于某种原因,我得到了列号 5(test2) 的错误推送,如下图所示:

应该是这样的:

这是生成它的代码:

<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
              <div class="panel-heading">
                  Secciones
              </div>
              <div class="panel-body">
                   <div class="row">
                      @foreach ($boards as $board)
                          <div class="col-md-3">
                              <h3>{{$board->boaName}}</h3>
                              @foreach ($subboards as $subboard)
                                  @if($subboard->boaId == $board->id)
                                    <ul>
                                        <li><a href="">{{$subboard->subboaName}}</a></li>
                                    </ul>
                                  @endif
                              @endforeach
                          </div>
                      @endforeach
                  </div>
              </div>
          </div>
        </div>
    </div>
</div><!--End container-->

【问题讨论】:

    标签: php css twitter-bootstrap laravel


    【解决方案1】:

    尝试将foreach 循环移到&lt;div class="row"&gt; 之外?如果这不起作用,您认为您可以在 jsFiddle 示例中对此进行模拟吗?

    【讨论】:

      【解决方案2】:

      您需要在 4 次迭代后进行测试才能关闭并再次打开行 div。

      【讨论】:

      • 我知道,但引导程序应该推送 cols,网格系统解释说,它这样做但不正确,我想在没有任何变量或计数器的情况下这样做
      【解决方案3】:

      如果您知道预期有多少列,您可以执行以下操作(在我的示例中,我省略了每列的内部内容 - 我还保留了计数器,以便您可以看到用于测试的增量):

      $i = 1;
      foreach($boards as $board) {
          if($i == 1 || $i == 5 || $i == 9) {
              echo "<div class='row'>";
              echo "<div class='col-md-3'>" . $i++ . "</div>";
          }
          elseif($i%4 == 0) {
              echo "<div class='col-md-3'>" . $i++ . "</div>";
              echo "</div>";
          } else {
              echo "<div class='col-md-3'>" . $i++ . "</div>";
          }
      }
      

      这里发生的情况是,如果列数是第 4 次迭代,它应该回显一个开头 &lt;div class="row"&gt; 以及一列。如果当前列可以被 4 整除,则它应该回显一个带有额外关闭 &lt;/div&gt; 的列(以关闭 row 类。)

      如果当前计数都不是以上,它只是简单地回显一列。

      如果潜在列的数量未知,您当然可以修改上述内容。

      【讨论】:

      • 我知道我可以做到,但我只是想知道为什么 bootstrap 对我不起作用,他应该推回 cols :S.
      • @Sociopath 哦,对不起,我以为你也想要一个解决方案。我在我的项目中也看到了这种情况,应该简单地转到下一行的列似乎与上一行的底部紧密对齐。我认为这与行对齐子列的方式有关。我不确定我害怕的确切原因:-(...你也可以clear: left第五栏
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      • 2021-07-30
      相关资源
      最近更新 更多