2014-08-27 17 views
-2

這是我的示例中,所有元素:顏色除了第一個CSS

http://jsfiddle.net/mato75/84mq6bLr/

我想顏色的所有元素,除了第一款。

我知道,如果我使用li而不是類,或者即使我把類放在li中,我也會解決這個問題,但是結構與示例類似。

有什麼建議嗎?

.dd ~ .dd { 
    background:#ff0000; 
} 
+1

標記問題,它在小提琴是不夠好的。 – cimmanon 2014-08-27 13:41:49

+0

查看CSS中的僞類。但在你的例子中,讓我感到困惑的是你說你想改變'color',而你的css規則提到'background'。背景和顏色是兩個不同的概念。 – 2014-08-27 13:45:44

+0

你可以做'li〜li .dd {background:#ff0000;}'demo:http://jsfiddle.net/webtiki/84mq6bLr/9/ – 2014-08-27 14:34:06

回答

1
.dd{ 
    background:#ff0000; 
} 
ul li:first-child .dd{ 
    background:none; 
} 
1

有一個CSS選擇器名爲first-child,你可以使用。你可以看到它在這裏的行動:

http://jsfiddle.net/84mq6bLr/8/

li>p.dd { 
    background-color:#ff0000; 
} 
li:first-child>p.dd { 
    background-color:initial; 
} 

基本上,它讀作「尋找在任何一組第一li元素,然後找到一類dd內的任何一段,然後復位它的顏色,它的default`。

這可能不會老的瀏覽器中工作(如IE8)。

+0

爲什麼你會在這裏使用first-of-type而不是更廣泛的支持的選項(兄弟選擇器,第n個孩子等)?唯一允許使用ul元素的孩子是李。 – cimmanon 2014-08-27 13:55:20

+0

@cimmanon - 你是對的,今天我學到了一些東西:) 這個例子已經更新爲使用'子'選擇器。 – Chris 2014-08-27 14:09:10