使用php为网格的每个第3和第4 div块添加类

时间:2014-11-20 15:08:30

标签: php loops

我正在制作一个像div这样的网格:

        <div style="float:left;width:171px;height:115px;background:green;margin-right:10px;">

        </div>

        <div style="float:left;width:171px;height:115px;background:green;margin-right:10px;">

        </div>

        <div style="float:left;width:171px;height:115px;background:green">

        </div>

        <div style="float:left;width:171px;height:115px;background:green;margin-left:10px;">

        </div>

现在由于设计问题,3rth没有正确的结合,但第4个有左边距

所以我想要一个php中的方法,我可以传递一个计数来返回一个类a(第3个和第4个b)迭代

但我不知道最好的方法是做什么...我可以关于一个计数器,然后如果x / 4与迭代相同(通过槽)然后我可以捕获4rth然后相同的3rth但是必须有更简洁的方法来做到这一点

2 个答案:

答案 0 :(得分:1)

你可以试试这个。这就是你所解释的:

%运算符告诉您,如果给定数字存在除法,则余数为多少。

$third = 1;
for ($i = 1; $i < 20; $i++) {
    if ($i != 1 && $i % 4 === 0) {
        echo '<div style="float:left;width:171px;height:115px;background:green;margin-left:10px;">Margined left ' . $i . '</div>' . "\n";
    } elseif ($i !== 1 && $third % 3 == 0) {
        if ($third === 3) {
            $third = -1;
        }
        echo '<div style="float:left;width:171px;height:115px;background:green;">Not margiend ' . $i . '</div>' . "\n";
    } else {
        echo '<div style="float:left;width:171px;height:115px;background:green;margin-right:10px;">Margined rigth ' . $i . '</div>' . "\n";
    }
    $third++;
}

答案 1 :(得分:-1)

尝试这样的事情。如果你正在循环使用

,你总是可以用 foreach 替换 for
<?php for ($i=1; $i <= 6; $i++) :?>
    <div style="float:left;width:171px;height:115px;background:green; <?php if($i%3 != 0){ echo "margin-right:10px;"; } ?>">
        test
    </div>  
<?php endfor; ?>