我需要在我的网站上有几个不同大小的div,我现在用简单的PHP循环打印类。首先它适用于少数第一个div但在此之后它不起作用。
这是我想要的情况
<div class="row">
<div class="small special"></div>
<div class="small special"></div>
<div class="large"></div>
</div>
<div class="row">
<div class="small special"></div>
<div class="large"></div>
<div class="small"></div>
</div>
<div class="row">
<div class="large"></div>
<div class="small"></div>
<div class="small"></div>
</div>
<div class="row">
<div class="small"></div>
<div class="small"></div>
<div class="large"></div>
</div>
<div class="row">
<div class="small"></div>
<div class="large"></div>
<div class="small"></div>
</div>
从那以后它继续使用与最后2行相同的模式。所以基本上大的div在每一行从右向左移动。特殊div来自循环。这是我目前的php:
<div class="row">
<div class="small special"></div>
<div class="small special"></div>
<?php while loopstuff here ?>
<?php
if ( $i == 0 || $i == 1 || ($i %3) == 0 ) :
$size = "large";
else :
$size = "small";
endif;
?>
<?php if ( $i == 1 ) : ?>
<div class="small special"></div>
<?php endif; ?>
<div class="<?php echo $size; ?>"></div>
<?php if ( $i == 0 || $i == 2 || ($i % 3) == 0 ) : ?>
</div><!-- .row -->
<div class="row">
<?php endif; ?>
<?php $i++; ?>
<?php endwhile; // end of the loop. ?>
</div>
前两行工作正常但后面的行打印一行或两行。所以我的问题是这个($ i%3)== 0)我相信。
答案 0 :(得分:0)
可定制的工作原型:
<?php
$iTotalRowCount = 10;
for( $i = 0; $i < $iTotalRowCount; ++$i )
{
$aPositions = array();
if( ( $i % 3 ) === 0 )
{
$aPositions = array( 'small', 'small', 'large' );
}
else if( ( $i % 3 ) === 1 )
{
$aPositions = array( 'small', 'large', 'small' );
}
else if( ( $i % 3 ) === 2 )
{
$aPositions = array( 'large', 'small', 'small' );
}
$iCountPositions = count( $aPositions );
for( $k = 0; $k < $iCountPositions; ++$k )
{
echo '<div class="' . $aPositions[ $k ] . '">' . $aPositions[ $k ] . '</div>';
}
echo '<br />';
echo 'Set end.';
echo '<br />';
}
?>