プロパティの定義

目次

CSSプロパティの定義

CSSの各プロパティ定義は,以下に挙げる重要事項の提示から始ります。

プロパティの定義
正当な値とその構文
初期値そのプロパティの初期値
適用要素そのプロパティが有効な要素
継承性継承性の有無
パーセント値パーセント値の解釈
メディアグループ適用されるメディアグループ

(Value)

この節では,プロパティの値構文について概説します。

このリファレンスでは値構文を表記する手段として,親しみ易くとも長大で不正確な表記を探さずに,CSS2仕様書のCSS property definitionsで規定されている値構文と同様の表記方法を選択しました。以下の手引きにより値構文の概略をつかめる筈です。

値定義の例
N | NW | NE
[ <length> | thick | thin ]{1,4}
[<family-name> , ]* <family-name>
<uri>? <color> [ / <color> ]?
<uri> || <color>

プロパティ値の集合

そのプロパティにおいて正当な値として規定される集合です。値は数種類に分類されます:

1. そのプロパティで定められているキーワード値
auto や disc など。これらは引用符で括らずに文字どおりに記述する必要があります。
2. 小なり・大なり符号で括られた基本データ型
<color><length>など。この種類は個々のデータ型定義にリンクしてあります。
3. 別プロパティにまるごと含まれている値の集合
或プロパティで指定する値として,別プロパティが持つ値集合を参照します。この場合,プロパティ名を引用符で括り,それを更に小なり・大なり符号で括ります。たとえば<'border-width'>などです。この種類は対応するプロパティ定義にリンクしてあります。
4. 特定プロパティと同名にならない非終端符号
非終端符号の名称は<border-width>のように,小なり・大なり符号で括って示します。これは前項に該当している<'border-width'>などとは別物です。この定義はその値の初出箇所ちかくに記してあり,個々の値からはその定義にリンクしてあります。

これらの定義で現れる他の単語はキーワードであり,識別子なので,引用符で括らずに文字どおりに記述しなければなりません(たとえば色のredなど)。また,スラッシュ(/)やコンマ(,)などの記号類が現れるときも同様に,文字どおりに記述しなければなりません。

値の記述形式

値の記述形式は以下のとおりです:

並列された複数の値
すべてその順序で指定する必要があります。
| (一本の縦棒)で区切られている場合
そのうち何れか一つだけを指定する必要があります。
||(二本の縦棒)で区切られている場合
少なくとも一つを順不同に指定する必要があります。
[](大括弧)で括られている場合
大括弧で括られた範囲はグループ化を示します。

量指定子

あらゆるデータ型,ワード,大括弧グループには以下の量指定子がつくことがあります:

* (アスタリスク)
直前のデータ型,ワード,グループの0回以上の繰返しを示します。
+ (プラス)
直前のデータ型,ワード,グループの1回以上の繰返しを示します。
? (疑問符)
直前のデータ型,ワード,グループの0回もしくは1回の出現を示します。
{A,B} (中括弧で括った自然数の組)
直前のデータ型,ワード,グループのA回以上,B回以下の繰返しを示します。

初期値(Initial value)

プロパティの初期値を示します。これは各出処によるスタイルシートに拠っても,継承に拠っても,値が導かれない場合に,指定値として割り当てられます。一般にそのプロパティとして標準的な値が初期値として定められている場合がほとんどですが,User Agentの実装,もしくはユーザ環境の設定に依存するような場合もあります。初期値・指定値・継承値との相互作用はカスケード処理を参照してください。

(補足:これはUAが持つデフォルト値とは異ります; HTMLおよびXHTML適合UAは,しばしば初期値を上書きします。)

適用要素(Applies to)

プロパティの対象となる要素の一覧です。あらゆる要素はあらゆるプロパティを持っていると考えられます。しかし,特定の要素型に対してはレンダリング効果を持たないプロパティもあります。たとえば'clear'プロパティは,ブロックレヴェル要素だけに影響を与えます。

なお,この一覧から外れる要素に対してプロパティを宣言しても誤りではありません。その要素自身に効果がなくとも,子孫に継承されて効果が現れる場合もあります。また'display'プロパティの宣言でボックスタイプを変更した場合も,効果が現れるかもしれません。

継承性(Inherited)

祖先要素から値を "継承" するかどうか示します。継承に関してはカスケード処理も参照してください。

パーセント値(Percentage values)

プロパティに対して "パーセント値" を指定した場合に,どう解釈されるべきか述べます。

メディアグループ(Media groups)

プロパティの対象となるメディアグループを示します。CSS2仕様では,この項目に含まれるメディアタイプを対象とするUAの適合条件として,そのプロパティに対応する必要があります。CSS2.1仕様ではこの情報は参考(infomative)とされ,規範(normative)ではありません。

簡略表記プロパティ(Shorthand properties)

いくかのプロパティには簡略表記プロパティ(shorthand property)と呼ばれるものがあります。これによって制作者は,いくつかの個別プロパティとして持っている別々の値について,それらをひとつの簡略表記プロパティとして一括指定できるのです。

たとえば簡略表記の一種として 'font' というプロパティが提供されています。これはフォントにかかわる6つの各プロパティすべて 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height' および 'font-family' について,一纏めに設定できます。

簡略表記の一部について省略したなら,それは各プロパティの初期値にリセットされます(see カスケード処理)。