2011-08-07 6 views
4

私たちが継承CSSプロパティのinitialを指定した場合、それはinitial値を選択します。継承可能なCSSプロパティは "initial"という値を受け入れる必要がありますか? ChromeとSafariでは

しかし、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で述べたように:それは最後の1が勝つshoudその同じ特性の複数の定義を、持っている標準の一部です。だから標準のあなたの例によると、#d2のcolorプロパティは初期値が赤でなければなりません。青色を示すブラウザは、標準を完全に/適切にサポートしていません。

+0

「私は同じプロパティとどのように対処するための複数の定義を可能にするために、標準の一部であるかどうかわからない。」 - それはあります。ブロック内で、最後のブロックが勝ちます。 (私はそれがとにかく仕様が意味するものだと思います、そして、それはブラウザのように思われます)。 –

+0

上記のコードでは、 'div#d2'は' initial'をサポートしていないブラウザでは青くなります。 –

+1

@ Paul D. Waite:正しい。また、同じブロック内に '!important'宣言がある場合、最後の'!important'が勝ちます(IE6を除く)。 – BoltClock

関連する問題