如何显示3x3数据?我正在使用foreach循环显示数据,这是输出:
css - 使用CSS在3列和3行中显示元素-LMLPHP

这是我的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个项目,则它具有适当的间距。我的预期输出是这样的:

css - 使用CSS在3列和3行中显示元素-LMLPHP

如何使用CSS可能获得此结果?因为结果显示,它仅显示1行数据。我发现了一些几乎相同的问题,但无法以某种方式使其起作用。

最佳答案

感谢您的回答:)我已经弄清楚了。我只是从中删除了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;
}


现在,有了这个,我就能得到想要的结果。

10-07 19:07
查看更多