2011-08-07 32 views
4

在Chrome和Safari中,如果我們指定initial作爲可繼承的CSS屬性,它將選擇initial值。應該可繼承的CSS屬性接受值「初始」?

但是,如果我們在Firefox,IE或Opera中爲可繼承的CSS屬性指定initial,它將完全拒絕該值賦值。

這是正確這裏的行爲?

Test script

<!doctype html> 
<div style="color:red;">1111 
    <div id="d2" style="color:blue;color:initial;">2222</div> 
</div> 
<script> 
document.write(document.getElementById("d2").style.color); 
</script> 

回答

3

initial值似乎是valid。由於CSS3是(相對)新的,仍然容易發生變化,我懷疑並非所有瀏覽器都是最新的標準化。

正如Paul D. Waite所述:這是標準的一部分,它有多個相同屬性的定義,其中最後一個應該取勝。所以根據你的例子的標準,#d2的顏色屬性應該有初始值,它是紅色的。顯示藍色的瀏覽器不完全/正確地支持標準。

+0

「我不知道它是否是允許對同一財產進行多重定義以及如何處理它的標準的一部分。」 - 是的。在一個街區內,最後一個獲勝。 (我認爲無論如何這都是規範所暗示的,而且似乎是瀏覽器所做的。) –

+0

因此,對於上面的代碼,'div#d2'應該在不支持'initial'的瀏覽器中以藍色結束。 –

+1

@Paul D. Waite:正確。另外,如果在同一個塊中有任何'!重要'聲明,最後'!重要'聲明會勝出(IE6除外)。 – BoltClock