2015-01-21 40 views
1

我很難理解爲什麼某些屬性的行爲不符合W3規範中所述的行爲。屬性不按規範行事

例如,在specification中,它表示「background-image」和「background-color」屬性沒有被繼承。

但是下面的代碼證明了否則。

的CSS

#nav > li { 
    background-color: yellow;} 

的標記

<div> 
    <ul id="nav"> 
    <li>This is a list</li> 
    <li>This is a list</li> 
    <li> 
    <ul> 
    <li>This is a list</li> 
    <li>This is a list</li> 
    </ul> 
    </li> 
    </ul> 
</div> 

你會看到,即使是嵌套在第三個列表項內的第2級列表中的項目也有其背景顏色改變,而我僅適用於僅適用於一級列表項目的直接子項目。

現在我的問題是這樣的。

這是怎麼發生的?誰在這裏錯了,瀏覽器或規格?我錯過了什麼嗎?

任何幫助表示讚賞。

+0

你知道你必須接受正確的答案嗎? – chris 2015-01-21 13:02:54

回答

1

我想我找到了你的答案。 當你看devtools,你會看到,第二級沒有背景色。您所看到的顏色,是父李:-)

Fiddle

#nav > li { 
    background-color: yellow; 
} 

enter image description here

顏色與邊框屬性,您可以看得更清楚。
更新小提琴: http://jsfiddle.net/2brhj2bq/1/

#nav li { 
    border:1px solid red; 
} 

#nav > li { 
    border:1px solid lime; 
} 
+0

你是說即使第二級別列表項目是風格化的,它實際上是第一級列表項目,他們的風格? – 2015-01-21 11:42:27

+0

第二級項目沒有bg顏色,所以你看到的是第一級項目的顏色。 – chris 2015-01-21 11:44:27

+0

哦,我的上帝,我突然明白了,謝謝。 – 2015-01-21 11:48:47

0

這是因爲下一個UL也是在李,而李有背景色的黃色所以它應該是黃色的。只要想一想,你做了什麼,你是分配BG,然後你正在尋找它爲什麼發生它不是內部UL李bg它是UL#導航鋰的BG。

+0

我明白了,所以第一級別的列表項目是他們的樣式? – 2015-01-21 11:43:29

+0

現在有二級李氏的風格,是一級李氏的風格。 – 2015-01-21 11:46:46

+0

設置第二層li的bg綠色,你會看到第一層li對他們沒有影響 – 2015-01-21 11:47:47