我正在努力实现相当复杂的布局。我已经设法做到了,但无法帮助认为IF声明在细化方面有点缺乏。
我有一个循环遍历网格项目的for循环,第一个项目和每个第五个项目都更大,每隔一个大项目浮动到右边而不是左边。连续每个大型物品有四个小物品(因此大号与四个小物品大小相同)。
我认为我的IF不是特别优雅,也限制了网格的大小。
$i = 0;
foreach ($items as $item) {
if ($i % 5 == 0) { ?>
<article <?php if ($i == 5 || $i == 15 || $i == 25 || $i == 35 || $i == 45 || $i == 55) { ?>style="float:right;" <?php } ?>>
//do big item
</article>
} else {
<article>
//do small item
</article>
}
$i++;
}
我还试图找出如何在另一个div中包装5个项目的每一行来帮助调整大小?我在想另一块if($ i%5 == 0){可能对此有所帮助,但我也意识到加载时间和最佳实践。
一如既往的帮助,非常感谢!
答案 0 :(得分:2)
介绍第二个mod运算符。例如。
if ($i % 5 == 0){
if ( ($i-5) % 10 == 0 ){
// so this will work for values of %i = 5, 15, 25, 35 ...
// big article
}else{
// small article
}
$i++ ; // as previous comment @javad pointed out. You are not incrementing i