好的,我已经让 PHP 成功打开并读取包含许多图像的目录的内容。我将所有这些数据传递到一个数组中,对结果进行排序,最后遍历所有图像,以便它给我一个刺痛感,然后我将其回显到 html 页面上。在这个字符串中,我为每个 div 设置了 css 类,以便在页面呈现每个 div 时正确显示。
我的问题是与实际 PHP 设置每个 div 的类有关。基本上我有两个类,我根据它们的数量应用于每个 div。例如在第一个水平行中,第 1 到第 3 个 div 获取到的类,.box
以便设置 amargin-right:10px;
和第 4 个获取它自己的类,.box last
其中设置margin-right:0px;
。
所以我想问的是,有没有办法编写一些逻辑来告诉 PHP 代码为第 1 到第 3 个 div 应用一个类,为每行的每 4 个 div 应用一个单独的类?有效地,行中的前三个 div 得到在课堂上,每行的第四个 div 得到另一个?
<?php
$dir = "images/";
$images = array();
$returnstr = "";
if ($handle = opendir($dir)) {
while ( false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != ".."){
$images[] = $entry;
}
}
closedir($handle);
}
natsort($images);
$newArray = array_values($images);
foreach ($newArray as $key => $value) {
$returnstr .= '<li class="box">';
$returnstr .= '<a href="#" name="" class="thumb" id="' . $key . '"><img src="'. $dir . '/' . $value . '"/></a>';
$returnstr .= '</li>';
}
?>
这是第 1 - 3 个 div 的 CSS ......
.box {
float: left;
/*margin-right:10.5px;*/
margin-right:10px;
/*width: 92px;
height: 92px; */
width: 232.5px;
height:150px;
/*height: 232px; */
/*background-color: #999;
border: 1px solid*/
margin-bottom: 10px;
list-style: none;
}
...以及网格中每 4 个 div 的 CSS
.box.last {
margin-right: 0px;
}
这是我试图实现的 html。
<li class="box">
<a href="#" name="cap1" class="thumb" id=""><img src="images/1.jpg"/></a>
</li>
<li class="box">
<a href="#" name="cap2" class="thumb" id=""><img src="images/2.jpg"/></a>
</li>
<li class="box">
<a href="#" name="cap3" class="thumb" id=""><img src="images/3.jpg"/></a>
</li>
<li class="box last">
<a href="#" name="cap4" class="thumb" id=""><img src="images/4.jpg"/></a>
</li>