如何增加大空间

时间:2011-02-11 08:50:50

标签: php html

      <?php foreach ($rows as $id => $row): ?>
  <li class="<?php print $classes[$id]; ?>"><?php print $row; ?></li>
    <?php endforeach; ?>

以上代码用于输出文章列表。现在我想在10行的倍数之后添加大空格。只需添加一个大空间(例如:margin-bottom:30px,仅在每10个子弹点后,但其他li之间的空间为15px) 10个要点。如何更改上面的代码。然后我可以使用CSS来获得它。   -

3 个答案:

答案 0 :(得分:1)

虽然我不清楚“大空间”是什么意思,但我假设你想在每10个列表项之后放置一个仲裁HTML标记。您可以这样做,例如:

 <?php $i = 0; ?>
 <?php foreach ($rows as $id => $row): ?>
     <li class="<?php print $classes[$id]; ?>"><?php print $row; ?></li>
     <?php if ($i++ === 10): ?><br /><?php $i = 0; endif; ?>
 <?php endforeach; ?>

编辑,您澄清了

  

不,例如:30px,但其他<li>之间的空格为20px。

可以这样做:

 <?php $i = 1; ?>
 <?php foreach ($rows as $id => $row): ?>
     <?php $i++; ?>
     <li style="margin-bottom:<?php echo ($i === 10) ? : '30' : '20'); ?>px;" class="<?php print $classes[$id]; ?>"><?php print $row; ?></li>
     <?php if ($i === 10) $i = 1; ?>
 <?php endforeach; ?>

答案 1 :(得分:1)

模数运算符(%)是理想的:

<?php $i = 0; foreach ( $rows as $id => $row ): ?>
<li style="margin-bottom: <?php echo $i ++ % 10 ? '30' : '20' ?>px;" class="<?php echo $classes[$id] ?>">
    <?php echo $row ?>
</li>
<?php endforeach ?>

答案 2 :(得分:0)

作为对Aron代码的略微修改,如果你想使用CSS来设置<li>的样式:

 <?php $i = 1;
 foreach ($rows as $id => $row):
     if($i === 10){
         $end_class = ' end-class';
         $i = 1;
     } else {
         $end_class = '';
         $i++;
     }
     echo '<li class="' . $classes[$id] . $end_class . '">' . $row . '</li>';
 endforeach;
 ?>

然后,您可以将样式应用于.end-class