initial
値は、最初にレンダリングされたスタイル(ブラウザーの内部ユーザーエージェントスタイルシートによって適用されるスタイル)を復元すると思いました。
例:
div.inline {
display: inline;
}
div.initial {
display: initial;
}
div.inline
ルールはインラインモードで<div class="inline">
を表示し、div.initial
ルールはdiv
の元の表示値block
を使用して<div class="initial">
を表示すると予想していました。
しかし、これを探索すると、<div class="initial">
がインラインで表示されます。私が間違っている?誰でもこれについて詳しく説明できますか?
initial
value (属性ではない)は、CSS仕様で定義されているように、プロパティの初期値を示します。値。"したがって、その意味はプロパティに依存しますが、他のものには依存しません。ブラウザ上またはプロパティが適用されている要素上ではありません。したがって、ブラウザのデフォルトを意味するではありません。
たとえば、display
プロパティの場合、initial
alwaysはinline
を意味します。これは、プロパティの初期値。この例では、要素がblock
であるため、ブラウザのデフォルトはdiv
です。
したがって、initial
値の有用性は限られています。その主な効果は誤解のために人々を混乱させることのようです。使用可能なケースはcolor
プロパティです。これは、その初期値がブラウザーに依存しているためです(ご存知のように、ほとんどが黒ですが、必ずしもそうとは限りません)。そのため、initial
はブラウザのデフォルトを意味します。これがプロパティの定義方法です。同様の使用例はfont-family
の場合です。font-family: initial
を宣言すると、ブラウザのデフォルトフォント(ブラウザの設定によって異なります)。
IE(IE 10)でもサポートされていないため、有用性はさらに制限されます。
最初のCSSキーワードは、プロパティの初期値を要素に適用します。これはすべてのCSSプロパティで許可されており、指定された要素はプロパティの初期値を使用します。
/* give headers a green border */
h2 { border: medium solid green }
/* but make those in the sidebar use the value of the "color" property */
#sidebar h2 { border-color: initial; }
<p style="color:red">
this text is red
<em style="color:initial">
this text is in the initial color (e.g. black)
</em>
this is red again
</p>