如何并排排列图像

时间:2012-02-20 08:52:32

标签: php html css

<div id="car">
    <div style="padding-left: 10px; padding-top: 20px;" class="photos">

        <?php if (count($photos) > 0) { foreach($photos as $photo) {
            ?>

            <div style="float: left; text-align: center; width: 78px; padding-right: 10px; padding-top: 5px;">
                <a rel="photos" href="images/cars/<?php echo $_GET["id"] . "/" . $photo; ?>" title="<?php echo $car->getTextByLanguage($lang->id)->value; ?>">
                    <img alt="" src="images/cars/<?php echo $_GET["id"] . "/small/" . $photo; ?>" width="100%">
                </a>
            </div>


            <?php  } } else { ?>
            No photos available.
        <?php } ?>
    </div>
</div>

我希望并排排列图像,每行只有8张图像。任何想法我怎么能这样做?我想要这样:我应该有一个div,并且在那个div中创建8等等......

2 个答案:

答案 0 :(得分:3)

您可以使用.first class

在样式表中设置:

.image {float:left;text-align:center;width:78px;padding-left:10px;padding-top:5px;} 
.first {clear:both;padding-left:0;}

并在你的foreach代码中设置:

<?
$i=0;
foreach($photos as $photo) {
<div class='image <?=($i%7==0?"first":"");?>'>
...

答案 1 :(得分:1)

尝试改进代码:首先得到总计数(它会加快foreach循环中的迭代):

$count = count($photos);

然后使用:if(($ count)&gt; 0){...} 接下来尝试查找($ count%8) - 这是$ count的余数除以8,参见http://php.net/manual/en/language.operators.arithmetic.php - 如果它等于零或更大,那么你可以再次开始输出div。