n之后改变风格。结果 - PHP

时间:2017-03-06 15:11:04

标签: php html css mysql css3

您好我使用PHP使用while循环从数据库中获取数据。通过数据库字段值应用付费或未付款的类。付费会员每行显示2个成员,每行显示3个未支付成员,这对我来说效果很好。但是一个小小的问题是当付费会员结束时,我想要一个换行符,然后连续显示来自新行3的未付费成员。我怎么能这样做?

HTML

<div class="main paid">
  ABC
</div>
<div class="main paid">
  ABC
</div>
<div class="main paid">
  ABC
</div>
<div class="main unpaid">
  ABC
</div>
<div class="main unpaid">
  ABC
</div>
<div class="main unpaid">
  ABC
</div>
<div class="main unpaid">
  ABC
</div>

CSS

.main{
  float:left;
  margin-bottom:30px;
  border:1px solid #ddd;
}
.paid{
  width:49%;
}
.unpaid{
  width:32%;
}

工作小提琴: https://jsfiddle.net/qzxyyo2x/1/

付费或未付款是从数据库中获取的表值。宽度适用于它们。我想添加&#34;换行符&#34;当付费会员结束时,显示从下一行开始连续3行的未付费会员。在这个问题中,我需要在3个结果后进行换行。如果付费会员是2,4,5,6或其他什么。在显示所有付费会员后我需要换行。

提前致谢....

1 个答案:

答案 0 :(得分:0)

您可以使用一些clearfix代码来触发非付费类与clear: both;分隔,但如果应用于整个.unpaid类,则所有未付费的类都将在各自的行中。

不正确的演示:https://jsfiddle.net/qzxyyo2x/2/

快速解决方案是一个名为.clearfix的新类。只要unpaid类跟在paid类之后,您就可以使用它,但是当unpaid类跟在unpaid类之后时,则不能。这个逻辑必须在PHP中完成。

正确演示:https://jsfiddle.net/qzxyyo2x/3/

更优雅的解决方案是在每个行周围创建额外的div,但这可能涉及更改逻辑而不仅仅是一个类。