好吧,我已經有PHP成功地打開並閱讀包含許多圖像的目錄的內容。我把所有這些數據都傳遞給一個數組,對結果進行排序,最後遍歷所有的圖像,這樣我就可以回到html頁面了。在這個字符串中,我爲每個div設置了css類,以便在頁面呈現每個div時正確顯示。回聲PHP字符串
我的問題是與實際的PHP設置每個div的類。基本上我有兩個類,我適用於每個div取決於他們是什麼數字。例如,在第一個水平行中,第一到第三個div得到.box
的類別,以便設置margin-right:10px;
和第四個get的它自己的類別.box last
,其設置margin-right:0px;
。
所以我想問的是有沒有辦法編寫一些邏輯來告訴PHP代碼應用一個類的第一到第三個div和一個單獨的類每個第四個div的有效的前三個div在行上get類和每行中的第四個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>';
}
?>
這是第一次的CSS - 3 div的...
.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;
}
...和CSS在網格每4個DIV
.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>
刪除所有無關緊要的東西,準確地告訴我們,但用更少的話,你嘗試了什麼以及你失敗了。這個問題太長了! – markus
這可以在客戶端有效地完成,沒有額外的CSS,使用':nth-child()'。 –
@MadaraUchiha我不認爲op只是爲了第(n)個孩子。他們希望爲每一個孩子,對吧? – shortstuffsushi