2011-04-19 106 views
2

我想知道是否可以將僞類嵌入對方。我有一個你不能做的預感,但我只是想確保我不只是語法錯誤。CSS僞類可以在:not()僞類中使用嗎?

這裏是什麼,我試圖做一個例子:

p.description { margin-bottom: 20px; } 

鑑於風格,如果你只是想,要在不是最後的p.description比賽發生了,反正是有請執行下列操作?

p.description:not(p.description:last-child) 

當然,我有兩種風格,就像這樣:

p.description { margin-bottom: 20px; } 
p.description:last-child { margin-bottom: 0; } 

...但這似乎浪費,如果它可以在一個單一的線來完成。

非常感謝!

回答

4

是,你的問題的標題:

p.description:not(:last-child) 

沒有,對你的問題的身體

p.description:not(p.description:last-child) 

The spec says CSS的例子:

否定pse udo-class,:not(X),是一個以simple selector(不包括否定僞類本身)爲參數的函數表示法。

一個簡單的選擇器可以是類型選擇器,通用選擇器,屬性選擇器,類選擇器,ID選擇器或僞類。

+0

嗯,顯然定義是CSS2和CSS3之間變化。在CSS2中,'p.description:first-child'將被認爲是一個簡單的選擇器。 – BoltClock 2011-04-19 17:16:21

+0

除了':not()'是否僅僅使用簡單的選擇器是否「合理」之外,我認爲「簡單選擇器」的CSS3定義是合理的,並且比CSS2定義更有意義。 – 2011-04-19 17:19:04

+0

它當然可以! – BoltClock 2011-04-19 17:19:29

2

是,p.description:not(:last-child)

+1

...因爲':not()'可以使用一個簡單的選擇器,這個僞類是最後一個子類。 – BoltClock 2011-04-19 17:15:30

+0

對不起,我已經編輯過這篇文章了。 (我寫了一個JavaScript庫,允許':not()'中的複雜選擇器,所以我有點困惑:P) – Ryan 2011-04-19 17:18:45

0

是的,你可以,在webkit中,它工作正常。我用這個例子:

.middlenav:not(:nth-last-child(1)) 

偉大的作品。

所以p.description:not(:last-child). 應該太