使用CSS在3列和3行中显示项目

时间:2019-03-22 11:47:14

标签: css laravel-blade

如何显示3x3数据?我正在使用foreach循环显示数据,这是输出: enter image description here

这是我的blade.php代码

<div class="coupon_div">
            @foreach($coupons as $coupon)
            <div class="column coupon_col">
                <div class="coupon_cont pad">
                    <div class="coupon_details">
                        <h3 class="column_title coupon_title">
                            <span class="bullets">◼ </span>
                            {{ $coupon->name }}
                        </h3>
                        <p class="column_text coupon_text"> {{ $coupon->description }} </p>
                        <button class="btn_gold btn-coupon" type="button" name="button" onclick="window.open('{{ $coupon->file_path }}')"> Open </button>
                    </div>
                </div>
            </div>
            @endforeach
        </div>

我的CSS

.coupon_div {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
}
.column {
  width: 345px;
  height: auto;
  background-color: white;
  position: relative;
}
.coupon_col {
  padding: 0;
  margin-bottom: 30px;
}
.coupon_cont {
  width: 345px;
}
.coupon_col .pad {
  padding: 0;
}
.coupon_details {
  padding: 32px;
  border: 1px solid #dcdcdc;
}

如果仅显示3个项目,则它具有适当的间距。我的预期输出是这样的:

enter image description here

如何使用CSS达到此结果?因为结果显示,它仅显示1行数据。我发现了几乎相同的问题here,但不知何故无法解决。

1 个答案:

答案 0 :(得分:0)

谢谢您的回答:)我已经弄清楚了。我刚刚从以下位置删除了coupon_div类的一部分:

.coupon_div {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
}

收件人:

.coupon_div {
  justify-content: space-between;
  margin-bottom: 5px;
}

并添加了一些检查:

<div class="column coupon_col {{ $key % 3 == 1 ? 'addmargin' : '' }}">

因此,如果该项目位于第2、5和7号,则与其他2个项目之间会有边距。

.addmargin {
  margin: 0px 15px;
}

现在,我可以得到想要的结果。