問題
行ごとに 3 つの「ブロック」を表示し、大きい画像と小さい画像を交互に表示するギャラリーを生成しようとしています。
例えば:
Big | 4 Small | Big
4 Small | Big | 4 Small
1 つの大きな画像は、4 つの小さな画像のサイズです。
私が試したこと
これまでに試したことの例を次に示します。
$i = 0;
$r = 0;
$image = '';
foreach($gallery_images as $image_data) {
($i == 5 ? $i = 0 : '');
//If there's been 3 blocks added to the row, end the row and start a new one
if($r == 3) { $image .= '</div>'; $r = 0; }
//Start new row every 3 blocks
if($r == 0) { $image .= '<div class="row">'; }
//One big image, per 4 small in sequence
if($i == 0) {
$image .= '<div style="height: 300px; width:33.3%; background: red;float:left;"></div>';
++$r;
} else {
//If no small, start the block
if($i == 1) { $image .= '<div style="width:33.3%;height:300px;float:left;">'; }
//echo each small image
$image .= '<div style="height: 150px; width:50%;background: blue;float:left;"></div>';
//Once 4 images have been echoed, close the div
if($i == 4) { $image .= '</div>'; ++$r; }
}
++$i;
}
echo $image;
最初の行は正常に表示されますが、次の行は完全に台無しになります。これが機能するために見逃したものを見ることができません。
「行」のクラスは、レスポンシブにするために、Zurb による基盤フレームワーク上にこれを構築しているためです。