【问题标题】:Add new col-12 after four portfolio items with php使用 php 在四个投资组合项目之后添加新的 col-12
【发布时间】:2014-12-24 11:26:54
【问题描述】:

我正在制作一个投资组合页面,其中 4 个项目彼此相邻。我用 col-3 包裹的每件物品。发生的情况是,当我想给 col-3 一个边距时,col-3 下面的项目会中断并向下移动。

我认为这与一个 col-12 中的所有投资组合项目有关,所以在 4 个项目之后,我希望将接下来的 4 个项目放在一个新的 col-12 中,在那里我可以给每个项目组合一个再次col-3。这样我就可以玩边缘了。

我使用高级自定义字段来获取数据。

<div class="container marketing mt130">
    <div class="col-md-12 central">
        <h1 class="mb20">Mentors</h1>       
    </div>
    <div class="col-md-12">         
            <?php 
                $mentors = get_field('mentors'); 
                    if($mentors):
                        foreach($mentors as $mentor =>$item):                               
                                        $mentor_image = $item['image_mentor'];                              
                                        $mentor_name = $item['name_mentor'];                                
                                        $mentor_location = $item['location_mentor'];                                
                                        $mentor_text = $item['text_mentor'];                            
                                        $mentor_twitter = $item['twitter_mentor'];  
                                        $mentor_fb = $item['facebook_mentor'];                              
            ?>      
        <div class="col-md-3 central">
            <div class="wrapper_mentor">
                <img src="<?php print $mentor_image ;?>" alt="<?php print $mentor_name ;?>" width="226" height="226">
                <div class="wrapper_mentor_text">
                    <h2 ><?php print $mentor_name ;?></h2>
                    <h3><span><i class="fa fa-map-marker"></i></span><?php print $mentor_location ;?></h3>  
                        <div class="popup_mentor" style="display:none;">
                            <p><?php print $text ;?></p>                                
                            <p style="padding-left:20px; text-align:left;">
                                <a href="https://<?php print $member_twitter ;?>" target="_blank"><i class="fa fa-twitter"></i></a>
                                <a href="https://<?php print $member_fb ;?>" target="_blank"><i class="fa fa-facebook"></i></a>
                            </p>
                        </div>              
                </div>
            </div>
        </div>                  
        <?php endforeach; endif; ?>                         
</div><!-- end col-md-12 -->

任何帮助将不胜感激。

【问题讨论】:

  • 您能否在您的问题中添加一张图片以了解您到底想要达到什么目的?
  • 当然。 link 目前我有 2 行,每行 4 项。只有当我想给名称和位置一个填充时,布局才会中断。如果每 4 个项目都有一个自己的 col,那么它不会中断对吗?

标签: php html twitter-bootstrap


【解决方案1】:

如果您要嵌套 Bootstrap 的网格,请使用 .col-sm-12 &gt; .row &gt; .col-sm-4 之类的结构,而不是 .col-sm-12 &gt; .col-sm-4。需要该行来抵消列上的填充。

旁边不要使用.container.row.col-... 类的边距/填充。这就是您的布局崩溃的原因。如果您想要一些额外的边距,请将其添加到 .col-... 列内的 &lt;div&gt;

也许看看自定义 Bootstrap 网格。最简单的方法是查看@grid-gutter-width http://getbootstrap.com/customize/

【讨论】:

  • 感谢您的信息。如果我现在将 .row 添加到我的代码中,每个 col-3 都会得到一行,但我只希望每 4 个投资组合项目得到 a.row 或 col-12,以便每 4 个项目都有自己的行。那布局就不会坏了吧?
  • 如果您创建一个带有 4 个 col-md-3.row,它将起作用。见codepen.io/ckuijjer/pen/emzQdW。您的.central 课程是否有边距/填充样式。如果您添加输出 html 和 css 而不是 php,它可能会更容易调试。请记住,如果您决定在较小的屏幕上每行显示三个项目,则每四个项目创建一行可能会成为问题。在这种情况下,使用包含每一列的单行。
  • 我知道我需要为 4 个项目设置一行。我现在遇到的问题是,我想动态添加它。我使用一个 foreach 循环,所以我必须在 foreach 中有一个 if 语句,说在每 4 个投资组合项目之后我需要创建一个新行。只有我似乎无法弄清楚如何。
  • 我现在在每个 col-3 中添加了一行。它似乎正在工作,所以感谢 ckuijjer 的提示。这样做也是一个好习惯吗?
  • 不,如果你想嵌套网格(在列内添加列),你只需要在列内有一个.row。见getbootstrap.com/css/#grid-nesting
猜你喜欢
  • 1970-01-01
  • 2019-11-10
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 2011-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多