2014-05-09 40 views

回答

3

,因爲他們都有一個共同的父元素,您可以使用

.myclass:nth-child(even) {/* round style */} 
.myclass:nth-child(odd) {/* square style */} 

長。

如果您有更深層次的結構,您可能需要在樹上的某個位置使用選擇器,例如

<div class="parent"> 
    <div class="comment_image"><img .../></div> 
    <div class="comment_image"><img .../></div> 
</div> 

你想

.comment_image:nth-child(even) img {/* round style */} 
.comment_image:nth-child(odd) img {/* square style */} 

(雖然在這個例子中,你也可以應用該樣式到div - 這只是爲了說明層次)

從PHP代碼,您粘貼在下面的評論中,似乎你有一個像

<div> 
    <div>...</div> 
    <div class="comment_box"><div><img/></div>...</div> 
    <div>...</div> 
    <div class="comment_box"><div><img/></div>...</div> 
... 
</div> 

這意味着你實際上想要將圓形樣式應用於外部div內每隔四個div中的圖像,從第二個開始。唷!這裏的CSS爲:

.comment_box img {/* square style */} 
.comment_box:nth-child(4n+2) img {/* round style */} 
+0

喜歡這個? HTTP:// prntscr。com/3hpryu – Crion

+0

取決於。如果.comment_image是您的父元素,則這是正確的,但如果該類在每個圖像上,則需要img.comment_image:nth-​​child(...)。或者如果在同一父項中有其他元素,則爲第n種 – CupawnTae

+0

如果這不適合您,最有可能的情況是您有類似

- 如果將HTML輸出的片段添加到您的問題中,則會有所幫助 – CupawnTae

1

在循環中使用計數器。

if($counter%2==0) 
    {//Even} 
else 
    { // Odd} 
+0

所以唯一的一個圖像(第二行)將圓形樣式正確? – Crion

0

您可以使用:nth-​​child偶數和奇數選擇器。將每個圖像中的一個相同的標籤(如<li><div>)和CSS中使用

your-tag:nth-child(even) {/* round style */} 
your-tag:nth-child(odd) {/* round style */} 
+0

所以它應該看起來像這樣? http://prntscr.com/3hpryu – Crion

+0

是的,沒關係。 –

+0

但我怎麼知道它只適用於HTML5/CSS3 –

0

您可以使用while循環遍歷數據庫查詢結果。在while循環中,您可以決定當前的迭代是偶數還是奇數。如果當前迭代是奇數,則向該元素添加奇數類,如果當前迭代是偶數,則向該元素添加偶數類。

我寫它使用PDO庫與數據庫工作的一個簡單的例子:

echo '<div class="items">'; 
$isOdd = false; 
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){ 
    echo '<div class="' . (($isOdd) ? 'odd' : 'even') . '"><img src="" /></div>'; 
    $isOdd = !$isOdd; 
} 
echo '</div>'; 

循環的結果將是:

<div class="items"> 
    <div class="odd"><img src="" /></div> 
    <div class="even"><img src="" /></div> 
</div> 

另一種方法如何實現相同的結果是在CSS中使用nth-child(even)nth-child(odd)

.items div:nth-child(even) { 
    /* Properties */ 
} 

.items div:nth-child(odd) { 
    /* Properties */ 
} 
+0

對我來說,這看起來太複雜了,我只用了幾天的時間學習了PHP。我認爲這將是一些更簡單的方法。 – Crion

+0

@Crion更簡單的方法只有CSS。使用PHP,所有的方法都與這個相似。 – Chorochrondochor

+0

我會用任何方式,我只是想讓它工作。我用這個代碼,但是然後每個圖像都得到方形.http://prntscr.com/3hpryu – Crion