CSS 基本ユーザーインターフェイスモジュール レベル3 (CSS3 UI)

W3C勧告,

このバージョン:
https://www.w3.org/TR/2018/REC-css-ui-3-20180621/
最新公開バージョン:
https://www.w3.org/TR/css-ui-3/
編集者草案:
https://drafts.csswg.org/css-ui/
以前のバージョン:
テストスイート:
http://test.csswg.org/suites/css-ui-3_dev/nightly-unstable/
編集者:
Tantek Çelik (Mozilla)
Florian Rivoal (ブルームバーグを代表して)
課題追跡:
GitHub Issues

公開後に報告されたエラーや問題については、正誤表 をご確認ください。


概要

この仕様書は、CSSレベル3で提案されたユーザーインターフェイス関連の プロパティと値について記述しています。これにより、HTMLおよびXML(XHTMLを含む)のスタイル設定が可能です。 CSSレベル2改訂版1のプロパティと値からのユーザーインターフェイス関連機能を含み、さらに拡張されています。 文書内の基本的なユーザーインターフェイス要素をスタイル設定するために、さまざまな プロパティと値を使用しています。

CSS は、構造化された文書(HTMLやXMLなど)の 画面上、紙上、音声などでのレンダリングを記述するための言語です。

この文書の状態

このセクションでは、この文書が公開された時点での状態を説明します。他の文書がこの文書に取って代わる場合があります。 現在のW3C出版物とこの技術報告の最新改訂版の一覧は、W3C技術報告インデックス(https://www.w3.org/TR/)で見つけることができます。

この文書は、W3Cメンバー、ソフトウェア開発者、他のW3Cグループおよび関係者によってレビューされ、 ディレクターによってW3C勧告として承認されています。この文書は安定したものであり、参考資料として使用したり、 他の文書から引用したりすることができます。W3C の役割は、この勧告に注目を集め、その普及を促進することです。 これにより、ウェブの機能性と相互運用性が向上します。

この文書はCSS作業グループによって作成されました。

W3C勧告は広くレビューされ、実装の準備が整った文書です。W3Cは、誰もがこの仕様を実装し、 GitHub issuesにコメントを返すことを奨励しています。

この文書はW3C特許ポリシーの下で運営されるグループによって作成されました。 W3Cは、グループの成果物に関連して行われた特許開示の公開リストを維持しています。 このページには特許を開示する手順も記載されています。必須クレームを含むと信じられる特許に関して 実際の知識を持つ個人は、W3C特許ポリシー第6節に従って情報を開示する必要があります。

この文書は2018年2月1日 W3Cプロセス文書によって管理されています。

個別の 実装レポートでは、テストスイートの 各必要なテストが少なくとも2つの独立した実装によって合格したことを示しています。 また、この仕様の詳細な実装レポートもご覧ください。

この文書の変更点の一覧が利用可能です。

1. イントロダクション

このモジュールでは、ユーザーインターフェイス関連のプロパティと値をスタイル設定するためのCSSプロパティについて説明します。

CSS1のセクション2.1 [CSS1] および CSS2の第18章 [CSS2] では、いくつかのユーザーインターフェイス関連プロパティと値が導入されました。さらに、CSS3のユーザーインターフェイス(2000年2月16日) では新しい機能がいくつか追加されました。

この作業ドラフトは、それらを取り入れ、拡張し、置き換えます。

1.1. 目的

この仕様の目的は次の目標を達成することです:

2. モジュールの相互作用

この文書では、以前の仕様には存在しなかった新機能を定義します。 さらに、以下を置き換え、上書きします:

注: プロパティ定義テーブルのセマンティクスは、最初にカスケーディングスタイルシート レベル2 改訂版1 (CSS2.1) の仕様 §property-defsで導入されました。 より最新の定義は、[css-transitions-1][css-values-3]、 および[css-cascade-4]を参照してください。 読者の利便性のために、 この仕様では関連する箇所に直接リンクを提供しています。

3. ボックスモデルの追加

3.1. ボックスモデルの変更:box-sizing プロパティ

名前: box-sizing
値: content-box | border-box
初期値: content-box
適用対象: widthまたはheightを受け入れるすべての要素
継承: no
パーセンテージ: N/A
メディア: visual
算出値: 指定値
正規順序: 文法に従う
アニメーションタイプ: 離散
content-box
これはCSS2.1で指定されたwidthとheightの挙動です。 指定されたwidthおよびheight(とそれぞれのmin/maxプロパティ)は、 要素のコンテンツボックスの幅と高さにそれぞれ適用されます。 要素のpaddingとborderは、指定されたwidthとheightの外側にレイアウト・描画されます。
border-box
この要素のwidthおよびheight(およびそれぞれのmin/maxプロパティ)のlengthやpercentage値は、要素のボーダーボックスを決定します。 つまり、要素に指定されたpaddingやborderは、この指定されたwidthとheightの内側にレイアウト・描画されます。 コンテンツの幅と高さは、指定値から各辺のborderとpaddingの幅を引いて計算されます。 コンテンツの幅と高さは負になることはありません[CSS2]、セクション10.2)ので、この計算結果は0未満になりません。 例えばgetComputedStyle()で取得できるused値も、ボーダーボックスを参照します。

注: これは、従来のHTMLユーザーエージェントがreplaced要素やinput要素に対して一般的に実装していたwidthとheightの挙動です。

注: lengthやpercentage値と異なり、 auto値のwidthheightプロパティ (および後の仕様で導入された他のキーワード値も、特に指定がない限り) はbox-sizingプロパティの影響を受けず、 常にコンテンツボックスのサイズを設定します。

次の用語は、box-sizingの算出値に応じて定義が異なります:

box-sizing: content-box box-sizing: border-box
最小内側幅 min-width max(0, min-widthpadding-leftpadding-rightborder-left-widthborder-right-width)
最大内側幅 max-width max(0, max-widthpadding-leftpadding-rightborder-left-widthborder-right-width)
最小内側高さ min-height max(0, min-heightpadding-toppadding-bottomborder-top-widthborder-bottom-width)
最大内側高さ max-height max(0, max-heightpadding-toppadding-bottomborder-top-widthborder-bottom-width)

[CSS2]のビジュアルフォーマットモデルの詳細は、box-sizing: content-boxを前提に記述されています。すべてのbox-sizing値に対する挙動を明確にするため、次の補足を行います:

  1. 10.3.3の以下のフレーズ内、2つ目のwidthは、content widthとして解釈されます:If width is not auto and border-left-width + padding-left + width + [...]
  2. 10.3.7では、以下の式内のwidthcontent widthとして解釈されます:left + margin-left + border-left-width + padding-left + width + [...]
  3. 10.4では、widthheightmin-widthmax-widthmin-heightおよびmax-heightはそれぞれ、以下の語として解釈されます: content widthcontent height最小内側幅最大内側幅最小内側高さおよび最大内側高さ
    1. 暫定使用幅は次のように計算される [...]
    2. 暫定使用幅がmax-widthより大きい場合、上記の規則を再度適用するが、今回はmax-widthの算出値をwidthの算出値として使用する。
    3. 結果の幅がmin-widthより小さい場合、上記の規則を再度適用するが、今回はmin-widthの値をwidthの算出値として使用する。
    4. 次の表から、適切な制約違反に対する解決済みのheightとwidth値を選択する。max-widthとmax-heightはmax(min, max)として選択し、min ≤ maxが成立するようにする。この表内のwとhはwidthとheightの計算結果を表す [...]
    5. 表内でこれらの語が使われている全ての場合
    6. 次に、上記「幅とマージンの算出」の規則を、widthがこの値として算出されたかのように適用する。
  4. 10.6.4では、height は次の式内でcontent heightとして解釈されます:top + margin-top + border-top-width + padding-top + height + [...]
  5. 10.7では、widthheightmin-heightおよびmax-heightはそれぞれ、以下の語として解釈されます: content widthcontent height最小内側高さおよび最大内側高さ
    1. 暫定使用高さは次のように計算される [...]
    2. この暫定高さがmax-heightより大きい場合、上記の規則を再度適用するが、今回はmax-heightの値をheightの算出値として使用する。
    3. 結果の高さがmin-heightより小さい場合、上記の規則を再度適用するが、今回はmin-heightの値をheightの算出値として使用する。
    4. [...] 上記「最小幅と最大幅」のアルゴリズムを使って使用幅と使用高さを求め、さらに「高さとマージンの算出」の規則を、得られた幅と高さが算出値であるかのように適用する。

例:

box-sizingを使ってスペースを均等に分割する例

この例では、box-sizingを使って、固定サイズの境界線を持つ2つのdivをdivコンテナ内で横方向に均等に分割しています。通常は追加のマークアップが必要になる場面です。

サンプルCSS:

div.container {
  width:38em;
  border:1em solid black;
}

div.split {
  box-sizing:border-box;
  width:50%;
  border:1em silver ridge;
  float:left;
}

サンプルHTML断片:

<div class="container">
<div class="split">このdivは左半分を占めます。</div>
<div class="split">このdivは右半分を占めます。</div>
</div>

サンプルCSSとHTMLのデモ:

このdivは左半分を占めるべきです。
このdivは右半分を占めるべきです。
上の2つのdivは並んで表示され、境界線を含めてそれぞれコンテナの内容幅の50%を占めるはずです。もし縦に積み重なって表示される場合は、あなたのブラウザがbox-sizingをサポートしていません。

4. アウトラインプロパティ

スタイルシートの作成者は、ボタンやアクティブなフォームフィールド、イメージマップなどの視覚的オブジェクトの周りにアウトラインを作成して、目立たせたい場合があります。アウトラインは、以下の点で境界線(border)と異なります:

  1. アウトラインはスペースを占有しません。
  2. アウトラインは非矩形である場合があります。
  3. UAは、:focus状態の要素にアウトラインを表示することがよくあります。

アウトラインプロパティは、これら動的アウトラインのスタイルを制御します。

アウトラインの描画順序の積み重ねは、プラットフォームごとにより良いユーザー体験を提供するために、実装に明示的に任されています。これは、CSS 2.1付録Eで定義されたアウトラインの積み重ねを上書きします。[CSS2]

キーボードユーザー、特に障害を持つ方などが他の方法でページ操作できない場合、 :focus状態の要素にアウトラインが表示されることに依存しています。 そのため、アウトラインを不可視にする場合は、代替のハイライト手段を必ず提供してください。

アウトラインへのtransform適用に関する描画は、CSS3-UIでは明示的に未定義です。

4.1. アウトラインショートハンド:outline プロパティ

名前: outline
値: [ <outline-color> || <outline-style> || <outline-width> ]
初期値: 各個別プロパティ参照
適用対象: 全要素
継承: no
パーセンテージ: N/A
メディア: visual
算出値: 各個別プロパティ参照
正規順序: 文法に従う
アニメーションタイプ: 各個別プロパティ参照

4.2. アウトラインの太さ:outline-width プロパティ

名前: outline-width
値: <line-width>
初期値: medium
適用対象: 全要素
継承: no
パーセンテージ: N/A
メディア: visual
算出値: 絶対長さ; 0の場合はoutline styleがnone
正規順序: 文法に従う
アニメーションタイプ: length

4.3. アウトラインのパターン:outline-style プロパティ

名前: outline-style
値: auto | <border-style>
初期値: none
適用対象: 全要素
継承: no
パーセンテージ: N/A
メディア: visual
算出値: 指定値通り
正規順序: 文法に従う
アニメーションタイプ: 離散

4.4. アウトラインの色:outline-color プロパティ

名前: outline-color
値: <color> | invert
初期値: invert
適用対象: 全要素
継承: no
パーセンテージ: N/A
メディア: visual
算出値: invert の算出値は invert です。 currentColor の算出値は currentColor です(CSS Color Module Level 3 §#currentColor を参照)。 その他の <color> の値については color プロパティを参照してください。
正規順序: 文法に従う
アニメーションタイプ: color

outlineプロパティで作成されたアウトラインはボックスの「上」に描画されます。 つまり、アウトラインは常に最前面にあり、 ボックスや他のボックスの位置やサイズには影響しません。 したがって、アウトラインの表示・非表示はリフローを引き起こしません。

アウトラインは非矩形の場合があります。 例えば、要素が複数行に分割されている場合、 アウトラインはその要素の全てのボックスを囲むアウトラインまたは最小限のセットであるべきです。

アウトラインの各部分は、いくつかの辺が開いている(インライン要素のborderのように行が分割された場合)状態ではなく、完全に接続されているべきです。

アウトラインの各部分は矩形である必要はありません。 アウトラインがborder edgeを追従する範囲で、 border-radiusの曲線に従うべきです。

アウトラインの位置は子孫ボックスの影響を受けることがあります。

ユーザーエージェントは、ユーザーにフォーカスの概念を伝えるのに適切な領域を囲むアウトラインを決定するアルゴリズムを用いるべきです。

注: この仕様はアウトラインの正確な位置や形状を定義しませんが、通常はボーダーボックスのすぐ外側に描画されます。

outline-widthプロパティは、 border-widthと同じ値を受け付けます(CSS Backgrounds 3 §4.3 ラインの太さ: border-widthプロパティ)。

outline-styleプロパティは、 border-styleと同じ値を受け付けます(CSS Backgrounds 3 §4.2 ラインパターン: border-styleプロパティ)、 ただしhiddenはアウトラインスタイルとして合法ではありません。 さらに、CSS3ではoutline-styleauto値も受け付けます。 auto値はユーザーエージェントがカスタムアウトラインスタイルを描画することを許可し、 通常はプラットフォームのユーザーインターフェースのデフォルトか、 CSSで詳細に記述できないよりリッチなスタイル(例:半透明の外側ピクセルで光って見える丸みを帯びた縁のアウトライン)を提供します。 このため、この仕様ではautoスタイルのアウトラインを描画する際にoutline-colorがどのように組み込まれたり使用されるか(もし使われる場合でも)を定義しません。 ユーザーエージェントはautosolidとして扱っても構いません。

outline-colorプロパティは すべての色とキーワードinvertを受け付けます。Invertは画面上のピクセルに色反転を行うことが期待されます。 これは、フォーカス枠がどんな背景色でも常に見えるようにする一般的な手法です。

準拠したUAは、画面上のピクセルの色反転をサポートしないプラットフォームではinvert値を無視しても構いません。

UAがinvert値をサポートしない場合、 パース時にその値を拒否しなければならず、 outline-colorプロパティの初期値はcurrentColorキーワードです。

outlineプロパティはショートハンドプロパティであり、 outline-styleoutline-widthoutline-color の3つすべてを設定します。

注: アウトラインはすべての辺で同じです。 境界線と異なり、outline-topoutline-leftなどのプロパティはありません。

この仕様では、複数のアウトラインが重なって描画される場合や、 他の要素の背後で部分的に隠れているボックスのアウトラインがどのように描画されるかは定義しません。

例:

BUTTON要素の周りに太いアウトラインを描画する例:

button { outline: thick solid }

グラフィカルユーザーインターフェースでは、要素の周りにアウトラインを表示して、 ページ上のどの要素がフォーカスされているかをユーザーに伝える場合があります。 これらのアウトラインは境界線とは別に表示され、 アウトラインの切り替えはドキュメントのリフローを引き起こしません。 フォーカスはドキュメント内でユーザー操作の対象となるものです (例:テキスト入力やボタン選択時など)。

例:

例えば、要素がフォーカスされた時に太い黒の線、アクティブな時に太い赤の線を描画するには、以下のルールが使えます:

:focus  { outline: thick solid black }
:active { outline: thick solid red }

注: アウトラインはフォーマットに影響しないため (つまり、ボックスモデルにスペースが確保されない)、 ページ上の他の要素と重なって表示される場合があります。

4.5. アウトラインのオフセット:outline-offset プロパティ

デフォルトでは、アウトラインはborder edgeのすぐ外側から描画されます。 しかし、アウトラインをオフセットしてborder edgeよりさらに外側に描画することも可能です。

名前: outline-offset
値: <length>
初期値: 0
適用対象: 全要素
継承: no
パーセンテージ: N/A
メディア: visual
算出値: <length> 絶対単位(pxまたは物理単位)での値。
正規順序: 文法に従う
アニメーションタイプ: length

算出値がoutline-offsetで0以外の場合、 アウトラインはその値だけborder edgeから外側に離して描画されます。

例:

例えば、フォーカスアウトラインとフォーカスやアクティブな要素の間に2ピクセルのスペースを空けたい場合、以下のルールを使います:

:focus,:active  { outline-offset: 2px }

負の値ではアウトラインがborder boxの内側に縮小されます。 アウトラインで描画される形の外側の高さ・幅は、 outline-widthプロパティの算出値の2倍より小さくならないようにしてください。 これはアウトラインが大きな負の値でも描画可能であることを保証するためです。 ユーザーエージェントはこの制約を各次元ごとに独立して適用すべきです。 アウトラインが複数の分断された形として描画される場合も、この制約はそれぞれの形に個別に適用されます。

5. リサイズとオーバーフロー

CSS2.1は、ブロックコンテナ要素のスクロール機構(例:スクロールバー)の表示を制御する仕組みを提供しています。 本仕様はこれに加えて、要素のユーザーによるリサイズ可能性や、テキストオーバーフローの挙動を指定する仕組みを追加します。

5.1. ボックスのリサイズ:resize プロパティ

resizeプロパティは、要素がユーザーによってリサイズ可能かどうか、そして可能な場合はどの軸方向でリサイズできるかを著者が指定することを可能にします。

名前: resize
値: none | both | horizontal | vertical
初期値: none
適用対象: overflowがvisible以外の要素、 および画像・動画・iframe等のreplaced要素(任意で)
継承: no
パーセンテージ: N/A
メディア: visual
算出値: 指定値通り
正規順序: 文法に従う
アニメーションタイプ: 離散
none
UAは要素にリサイズ機構を表示せず、ユーザーは要素を直接操作してリサイズする手段を持ちません。
both
UAは高さ・幅の両方を調整できる双方向リサイズ機構を表示します。
horizontal
UAは幅のみ調整できる一方向(水平)リサイズ機構を表示します。
vertical
UAは高さのみ調整できる一方向(垂直)リサイズ機構を表示します。

現在、overflowプロパティ(例:overflow: scrolloverflow: hiddenなど)で要素のスクロール機構の表示を制御できます。 resizeプロパティは、要素のリサイズ機構(例:リサイズボックスやウィジェット)の表示と機能を制御するためのものです。

注: リサイズ機構はスクロール機構とは異なり、UAのズーム機構とも関係ありません。 スクロール機構は要素の内容のどの部分を表示するかをユーザーが決定でき、 リサイズ機構は要素自体のサイズをユーザーが決定できるものです。

resizeプロパティは、算出overflow値がvisible以外の要素に適用されます。 UAは、overflow値に関わらず、以下にも適用してよいです:

resizeプロパティの生成コンテンツへの効果は未定義です。実装は生成コンテンツにはresizeプロパティを適用しないでください。

注:将来的にresizeプロパティが生成コンテンツに適用される可能性があります。Interface CSSPseudoElement 実装による([css-pseudo-4]参照)。

ユーザーが要素をリサイズした場合、 UAはwidthおよび heightプロパティを、 ユーザーが指定したサイズのpx単位長さで、要素のstyle属性DOMに設定し、 既存のプロパティ宣言(あれば)を置き換え、!importantは付けません。

要素が一方向のみリサイズされた場合、対応するプロパティのみ設定され、両方は設定されません。

リサイズの方向(要素の左上を変更するか右下を変更するか等)は、 絶対配置かどうか、rightbottomプロパティの使用、 要素の言語が右から左かなど、CSSレイアウトの様々な要素に依存します。 UAは、CSSレイアウトで決定されるリサイズ方向や、プラットフォームの慣例・制約を考慮して、ユーザーへのリサイズ機構の提示方法を決定してください。

UAは、min-widthmax-widthmin-heightmax-height以外の制約なしで、ユーザーが要素をリサイズできるようにしなければなりません。

注:ユーザーが要素のリサイズを試みても、!importantのカスケード宣言などにより、style属性のwidthheight プロパティが上書きされたり無視されたりすることがあります。

要素のresizeプロパティの算出値が変更されても、 ユーザーによるリサイズでstyle属性に加えられた変更はリセットされません。

例:

例えば、iframeをスクロール可能かつリサイズ可能にするには、以下のルールを使えます:

iframe,object[type^="text/"],
object[type$="+xml"],object[type="application/xml"]
{
  overflow:auto;
  resize:both;
}

5.2. オーバーフローの省略記号:text-overflow プロパティ

名前: text-overflow
値: clip | ellipsis
初期値: clip
適用対象: ブロックコンテナ
継承: no
パーセンテージ: N/A
メディア: visual
算出値: 指定値通り
正規順序: 文法に従う
アニメーションタイプ: 離散

このプロパティは、インラインコンテンツがブロックコンテナ要素(「ブロック」)のインライン進行方向のendのラインボックス端をオーバーフローした場合の描画を指定します。 対象となるブロックコンテナは、overflowvisible以外の場合です。

例えば、white-space: nowrapの指定や、単語が長すぎて折り返されない場合にテキストがオーバーフローします。 各値の意味は次の通りです:

clip
インラインコンテンツがブロックコンテナ要素の枠をオーバーフローした場合、その部分はクリップされます。文字が部分的に表示される場合があります。
ellipsis
切り詰められたインラインコンテンツを表すために省略記号(U+2026)を描画します。 実装は、より適切な言語・スクリプト・書字モード用の省略記号や、記号が利用できない場合は「...」などを代用してもかまいません。

このプロパティ定義で使われる「文字」は、可読性のためであり、実装上は「書記素クラスタ」 [UAX29]を意味します。

ellipsis値の場合、実装は省略記号を収めるため、行のend端にある文字や atomic inline-level要素を非表示にし、残ったインラインコンテンツのend端に省略記号を隣接して描画します。 行の最初の文字や atomic inline-level要素は省略せずにクリップされます。

双方向省略記号例

これらの例は、双方向(bidi)状況で省略記号のためにどの文字が隠れるかを示しています。 視覚的に行の端(end edge)にある文字が隠されます。

サンプルCSS:

div {
  font-family: monospace;
  white-space: pre;
  overflow: hidden;
  width: 9ch;
  text-overflow: ellipsis;
}

サンプルHTML断片・レンダリング・あなたのブラウザ:

HTML 参照レンダリング あなたのブラウザ
<div>שלום 123456</div>
123456 ם…
שלום 123456
<div dir=rtl>שלום 123456</div>
…456 שלום
שלום 123456

省略記号の詳細

省略記号とのユーザーインタラクション

例:

text-overflowの例

これらの例は、テキストが要素のサイズをオーバーフローするブロックコンテナ要素でtext-overflowの設定を示しています:

div用サンプルCSS:

div {  font-family:Helvetica,sans-serif; line-height:1.1;
  width:3.1em; padding:.2em; border:solid .1em black; margin:1em 0;
}

サンプルHTML断片・レンダリング・あなたのブラウザ:

HTML サンプルレンダリング あなたのブラウザ
<div>
CSS IS AWESOME, YES
</div>
最初の例は、テキストがボックスの外に描画されるものです。
CSS IS AWESOME, YES
<div style="text-overflow:clip; overflow:hidden">
CSS IS AWESOME, YES
</div>
次の例は、テキストがボックス外でクリップされるものです。
CSS IS AWESOME, YES
<div style="text-overflow:ellipsis; overflow:hidden">
CSS IS AWESOME, YES
</div>
三番目の例は、省略記号で切り詰められたテキストを表すものです。
CSS IS AWESOME, YES
<div style="text-overflow:ellipsis; overflow:hidden">
NESTED
 <p>PARAGRAPH</p>
WON’T ELLIPSE.
</div>
四番目の例は、匿名ブロックボックスの等価性とネスト要素での非継承を示す段落のネスト例です。
NESTED

PARAGRAPH

WON’T ELLIPSE.

注:省略記号が描画される側は、ブロックのdirectionプロパティに依存します。 例:overflow:hiddenかつ右から左(direction: rtl)の場合、インラインコンテンツは側でクリップされ、 そのためtext-overflowの省略記号は側に描画されます。

省略記号とスクロールインターフェースのインタラクション

このセクションは、text-overflow:clip以外のtext-overflow(非clipのtext-overflow)かつoverflow:scrollを持つ要素に適用されます。

非clipのtext-overflowが設定されていて、テキストのインライン進行方向にscrollオーバーフローがあり、ブラウザがスクロール機構(例:要素上のスクロールバーや、スワイプスクロール可能なタッチインターフェース等)を提供する場合、より良いユーザー体験のために追加の実装詳細があります:

要素がスクロールされた場合(ユーザーやDOM操作による)、要素の内容のさらなる部分が表示されます。text-overflowの値は、要素の内容がさらに表示されるかどうかに影響してはいけません。非clipのtext-overflowが設定されている場合、スクロールによって追加の内容が表示できるなら、その内容も表示されるべきで、基本的にはクリップされる内容のみ(または省略記号/文字列のために必要なもののみ)を切り詰め、要素が内容の端までスクロールされた場合は、内容が省略記号/文字列の代わりに表示されるべきです。

例:

この例はoverflow:scrollを持つ要素でtext-overflowを使い、上記の挙動を示します。

サンプルCSS:

div.crawlbar {
  text-overflow: ellipsis;
  height: 2em;
  overflow: scroll;
  white-space: nowrap;
  width: 15em;
  border:1em solid black;
}

サンプルHTML断片:

<div class="crawlbar">
CSS is awesome, especially when you can scroll
to see extra text instead of just
having it overlap other text by default.
</div>

サンプルCSSとHTMLのデモ:

CSS is awesome, especially when you can scroll to see extra text instead of just having it overlap other text by default.

内容がスクロールされている間、実装は省略記号の描画(例:ボックス端に合わせる等)を調整する場合があります。

6. ポインティングデバイスとキーボード

6.1. ポインターのインタラクション

6.1.1. カーソルのスタイリング:cursor プロパティ

名前: cursor
値: [ [<url> [<x> <y>]?,]*
[ auto | default | none |
context-menu | help | pointer | progress | wait |
cell | crosshair | text | vertical-text |
alias | copy | move | no-drop | not-allowed | grab | grabbing |
e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll |
zoom-in | zoom-out
] ]
初期値: auto
適用対象: 全要素
継承: yes
パーセンテージ: N/A
メディア: visual, interactive
算出値: 指定値通り。ただし相対URLは絶対URLに変換される
正規順序: 文法に従う
アニメーションタイプ: 離散

このプロパティは、ポイントデバイスのカーソルのホットスポットが要素のborder edge内にある場合に表示するカーソルの種類を指定します。

注: CSS Backgrounds 3 §5.1 Curve Radii: border-radiusプロパティに従い、border edgeborder-radiusの影響を受けます。

要素が重なっている場合、どの要素がカーソルの種類を決定するかはヒットテストによって決まります。カーソルを決定する要素は、その位置でクリックが発生した場合にイベントを受け取る要素です。

注: ヒットテストの詳細は本仕様の範囲外です。ヒットテストは将来のCSSやHTMLの改訂で定義される予定です。

ユーザーエージェントは、ネイティブUIコントロール(スクロールバーやリサイズハンドル等)、またはフォーム要素のUA固有実装内で使用される他のネイティブUIウィジェット上ではcursorプロパティを無視してもよいです。また、ページが応答していない時のビジーカ―ソルや、テキスト選択時のテキストカーソルなど、UAのUI状態を示すためにcursorプロパティを無視して任意のカーソルを表示してもかまいません。

注: [HTML]ではイメージマップの特別なカーソル挙動cursorプロパティ用に定義しています。

値の意味は以下の通りです:

画像カーソル
<url>
UAはURIで指定されたリソースからカーソル画像を取得します。カーソルリストの最初の画像を扱えない場合、次の画像を扱い、いずれも扱えない場合はリストの最後のキーワードカーソルを使います。UAは<image>(superset)もサポートしてよいです。

UAは以下の画像ファイル形式をサポートしなければなりません:

加えて、UAは以下の画像ファイル形式もサポートすべきです:

UAはさらに、サイズが内在していなくてもsecure static/animated modeのSVG等の追加形式もサポートしてよいです。

注: CSSワーキンググループは当初、サイズが内在しているSVG・していないSVG両方を必須サポートと意図していましたが、実装不足により必須から任意へ変更されました。

注: 本仕様執筆時点(2015年春)、デスクトップブラウザでカーソルにサポートされているファイル形式は.icoと.curのみです。レガシーコンテンツ互換のため、UAはこれらも推奨されますが、オープンな仕様がないため、これらについて規範的な要求はできません。詳細はWikipedia参照。

カーソル画像の既定オブジェクトサイズは、UAのOSで一般的なカーソルサイズに基づくUA定義サイズです。

具体的なオブジェクトサイズ既定サイズ決定アルゴリズムで決まります。OSが指定サイズ以上のカーソル表示に非対応の場合は、画像比率を維持しつつOS対応サイズ内に縮小されます。

オプションの<x>, <y>座標は画像内のホットスポット位置(ポイント位置)を指定します。

<x>
<y>
いずれも<number>です。カーソル座標系(左上基準)内のポイント位置を示します。

注: 本仕様は各種<image>型の座標系がどう決定されるか定義しません。[CSS4-IMAGES]に委ねます。

値を指定しない場合は画像リソース内定義のホットスポットが使われます。座標が未指定かつ参照カーソルにホットスポット定義がなければ、「0 0」とした場合と同じです。

ホットスポット座標が画像外にある場合は(独立して)範囲内にクランプしてください。

汎用カーソル
auto
UAは現在のコンテキストに応じて表示するカーソルを決定します。具体的には、autoは選択可能なテキストや編集可能要素上ではtext、それ以外ではdefaultと同じです。
default
プラットフォーム依存の既定カーソル。通常は矢印で表示されます。
none
要素上にカーソルが表示されません。
リンク・ステータスカーソル
context-menu
カーソル下のオブジェクトでコンテキストメニューが利用可能。通常は矢印+小さいメニュー風グラフィックで表示。
help
カーソル下のオブジェクトでヘルプが利用可能。通常はクエスチョンマークや吹き出し型で表示。
pointer
リンクを示すポインター型カーソル。
progress
処理中を示すインジケータ。waitとは異なり、ユーザー操作が可能な場合。スピニングビーチボールや矢印+時計・砂時計型など。
wait
プログラムがビジー状態で待機を示す。通常は時計や砂時計型。
選択カーソル
cell
セルやセル群の選択可能を示す。通常は中央に点のある太いプラス記号型。
crosshair
単純な十字カーソル(「+」型)。2次元ビットマップ選択モード等で使用。
text
選択可能なテキストを示す。通常は縦型Iビーム。UAは縦書き等の場合は水平Iビーム(vertical-textキーワードと同じ)や、任意角度のIビームも表示してよい。
vertical-text
選択可能な縦書きテキスト。通常は水平Iビームで表示。
ドラッグ&ドロップカーソル
alias
エイリアス・ショートカット作成を示す。通常は矢印+小さいカーブ矢印。
copy
コピーを示す。通常は矢印+小さいプラス記号。
move
移動を示す。
no-drop
ドラッグ項目が現在位置にドロップ不可。通常は手やポインタ+斜線円型。
not-allowed
要求アクションが実行不可。通常は斜線入り円型。
grab
つかむ(ドラッグ移動可能)を示す。通常は手の甲(開いた手)型。
grabbing
つかみ中(ドラッグ移動中)を示す。通常は手の甲(閉じた手)型。
リサイズ・スクロールカーソル
e-resize, n-resize, ne-resize, nw-resize, s-resize, se-resize, sw-resize, w-resize
いずれかの辺の移動を示します。例:se-resizeカーソルはボックス南東隅からの移動時に使用されます。
ew-resize, ns-resize, nesw-resize, nwse-resize
双方向リサイズを示すカーソルです。
col-resize
項目・列の水平方向リサイズ可能を示す。左右矢印+縦棒で表示されることが多いです。
row-resize
項目・行の垂直方向リサイズ可能を示す。上下矢印+横棒で表示されることが多いです。
all-scroll
任意方向にスクロール可能を示す。上下左右矢印+中央点型で表示されることが多いです。
ズーム系カーソル
zoom-in, zoom-out
拡大・縮小可能を示す。zoom-inは中央に「+」、zoom-outは「-」がある虫眼鏡型で表示されることが多いです。

例:カーソルのフォールバック

複数のカーソル値を使う例です。

:link,:visited {
    cursor: url(example.svg#linkcursor),
            url(hyper.cur),
            url(hyper.png) 2 3,
            pointer
}

この例は、すべてのハイパーリンク(未訪問・訪問済み両方)に外部SVGカーソル[SVG11]、16.8.3節)を設定します。UAがSVGカーソルをサポートしていなければ、次の"hyper.cur"カーソルを使用します。これも未対応なら、UAは"hyper.png"カーソル(明示的ホットスポット付き)を使います。どの画像形式も未対応なら、UAは最後の値"pointer"カーソルを表示します。

6.1.1.1. キャンバスのカーソル

ドキュメントキャンバスは、ドキュメントが描画される無限の表面です[CSS2]。 キャンバスには対応する要素がないため、任意の要素上でない場所のカーソルをスタイリングできるよう、キャンバスカーソルはルート要素のカーソルを流用します。ただし、ルート要素にボックスが生成されない場合(例:ルート要素がdisplay: noneの場合)、キャンバスカーソルはプラットフォーム依存の既定カーソルです。

注: 要素が不可視でもボックスは生成される場合があります。例:visibility: hiddenだがdisplay: noneでない場合、ボックスが生成され、そのカーソルがキャンバスカーソルとして使われます。

6.2. 挿入キャレット

6.2.1. 挿入キャレットの色付け:caret-color プロパティ

名前: caret-color
値: auto | <color>
初期値: auto
適用対象: 全要素
継承: yes
パーセンテージ: N/A
メディア: インタラクティブ
算出値: auto の算出値は auto です。 currentColor の算出値は currentColor です(CSS Color Module Level 3 §#currentColor を参照)。 その他の <color> の値については color プロパティを参照してください。
正規順序: 文法に従う
アニメーションタイプ: color
auto
ユーザーエージェントはcurrentColorを使うべきです。 ユーザーエージェントはキャレットの色を自動調整して、周囲コンテンツと十分な視認性・コントラストを確保するために、currentColorや背景、シャドウ等に基づき調整しても構いません。
<color>
挿入キャレットが指定色で表示されます。

キャレットは、ユーザーがテキスト(や他のコンテンツ)を挿入する位置を示す、要素内の目に見えるインジケータです。このプロパティはその目に見えるインジケータの色を制御します。

注: キャレットの形状や点滅はこの機能の範囲外であり、仕様外です。

注: UAによっては「キャレット」と見なされる追加の機能がある場合があります。例えば、一部UAは「ナビゲーションキャレット」を表示でき、それは挿入キャレットと似ていますが、編集不可テキスト内でも移動でき、機能的にはキャレットです。一方、cursorプロパティがautoのときにテキスト上に表示されるカーソル画像や、cursorプロパティがtextvertical-textのときに表示される画像は、見た目はキャレットに似ていてもキャレットではありません(これはカーソルです)。

例:caret-color:#00aacc; を指定したtextarea

6.3. キーボード制御

6.3.1. 廃止済み:ime-modeプロパティ

"ime-mode"は一部ブラウザで部分的に実装されていますが、問題があり、本仕様で公式に廃止されています。

これらの実装の非互換性についてのドキュメントがあります。

ユーザーエージェントはime-modeプロパティをサポートすべきではありません。

著者はime-modeプロパティを使用してはなりません。

ユーザーは、悪いサイトやレガシー実装を回避するために修正用途でのみime-modeプロパティを使ってもよいです。例えば以下のようなユーザースタイルシートルール:

例:ユーザーの設定

input[type=password] {    ime-mode: auto !important;
}

このCSS例は、パスワード入力欄を既定の挙動にするために、ユーザースタイルシートファイルに記載できます。

本仕様は、レガシーime-mode実装の機能やサポート内容を文書化しようとはせず、そういった方針を追求・推奨する意味がないため意図的に記述しません。

注: 著者がユーザーエージェントにより良い入力体験を提供できるよう、利用すべき[HTML]の機能がいくつかあります:

付録A. 謝辞

この付録は参考情報です。

この仕様はほとんどの部分をTantek Çelikが1999年から現在まで編集・執筆しました。最初はMicrosoftの代表として、その後招待専門家として、最近はMozillaの代表として活動しています。

この仕様で最近のwww-styleメールからの課題を文書化し、解決提案・変更、特にbox-sizingプロパティの改善された詳細の調査・執筆に貢献したFlorian Rivoal(Bloomberg代表)に感謝します。

また、以下の方々からのフィードバック・貢献にも感謝します:Rossen Atanassov, Tab Atkins, L. David Baron, Bert Bos, Matthew Brealey, Rick Byers, Ada Chan, James Craig, Michael Cooper, Axel Dahmen, Michael Day, Micah Dubinko, Elika E., Steve Falkenburg, Andrew Fedoniouk, Al Gilman, Ian Hickson, Bjoern Hoehrmann, Alan Hogan, David Hyatt, Richard Ishida, Sho Kuwamoto, Yves Lafon, Stuart Langridge, Susan Lesch, Peter Linss, Kang-Hao Lu, Masayuki Nakano, Mats Palmgren, Brad Pettit, Chris Rebert, François Remy, Andrey Rybka, Simon Sapin, Alexander Savenkov, Sebastian Schnitzenbaumer, Lea Verou, Etan Wexler, David Woolley, Frank Yan, Boris Zbarsky, そしてDomel

付録B. 変更点

この付録は参考情報です。

勧告案(PR)以降の変更点

この付録では、2017年12月14日勧告案(PR)からの変更点を説明します。

候補勧告(CR)以降の変更点

この付録では、2017年3月2日候補勧告(CR)からの変更点を説明します。

付録C. セキュリティ・プライバシー配慮

この付録は参考情報です。

W3C TAGは、仕様編集者が参考として回答できるよう自己評価質問票:セキュリティ・プライバシーを開発しています。

検討すべき質問に従い:

  1. この仕様は個人を識別可能な情報を扱いますか?

    いいえ。

  2. この仕様は高価値データを扱いますか?

    いいえ。

  3. この仕様はオリジンにブラウジングセッション間で持続する新しい状態を導入しますか?

    いいえ。

  4. この仕様は永続的なクロスオリジン状態をウェブに公開しますか?

    いいえ。

  5. この仕様は現在アクセスできない他のデータをオリジンに公開しますか?

    いいえ。

  6. この仕様は新しいスクリプト実行/ロード機構を可能にしますか?

    ロードははい、実行はいいえ。cursorプロパティは<image> 値を受け付け、これにはロードされるURLが含まれる場合があります。 それらはSVGドキュメントであり、スクリプトを含みうるが、本仕様ではスクリプトの実行は禁止されています。

  7. この仕様はオリジンにユーザーの位置情報へのアクセスを許可しますか?

    いいえ。

  8. この仕様はユーザーのデバイスのセンサーへのアクセスを許可しますか?

    いいえ。

  9. この仕様はユーザーのローカル計算環境の側面へのアクセスを許可しますか?

    いいえ。

  10. この仕様は他のデバイスへのアクセスを許可しますか?

    いいえ。

  11. この仕様はユーザーエージェントのネイティブUIの一部制御を可能にしますか?

    はい。cursorcaret-colorプロパティは、ページがUAのカーソルやテキスト挿入キャレットの表示を変更できるようにします。また、outline-styleプロパティのauto値(およびoutlineショートハンド)は、ページが任意要素にUAのネイティブフォーカスアウトラインを表示できる可能性を持ちます。

  12. この仕様は一時的な識別子をウェブに公開しますか?

    いいえ。

  13. この仕様はファーストパーティ/サードパーティ文脈で動作を区別しますか?

    いいえ。

  14. この仕様はユーザーエージェントの「シークレット」モードでどのように動作すべきですか?

    通常通り。

  15. この仕様はユーザーのローカルデバイスにデータを保存しますか?

    いいえ。

  16. この仕様は「セキュリティ配慮」および「プライバシー配慮」セクションがありますか?

    はい。

  17. この仕様は既定のセキュリティ特性をダウングレードしますか?

    いいえ。

付録D. HTML用デフォルトスタイルシート追加

この付録は参考情報です。

HTMLフォームコントロールや動的な表示属性を表現するための、ベーススタイルシートへの追加例:

:enabled:focus {
 outline: 2px inset;
}

button,
input[type=button],
input[type=reset],
input[type=submit],
input[type=checkbox],
input[type=radio],
textarea,
input,
input[type=text],
input[type=password],
input[type=image]
{
 display: inline-block;
}

input[type=button],
input[type=reset],
input[type=submit],
input[type=checkbox],
input[type=radio],
input,
input[type=text],
input[type=password],
input[type=image]
{
 white-space: nowrap;
}

button
{
/* 特にBUTTONタグの空白処理 */
 white-space:normal;
}

input[type=reset]:lang(en)
{
/* 各言語ごとのHTML input type=resetボタンのデフォルト内容 */
 content: "Reset";
}

input[type=submit]:lang(en)
{
/* 各言語ごとのHTML input type=submitボタンのデフォルト内容 */
 content: "Submit";
}

/* その他の言語についてはUAが言語別Reset/Submitルールを使うべき */

input[type=button],
input[type=reset][value],
input[type=submit][value]
{
/* HTML "input"ボタンのテキスト内容/ラベル */
 content: attr(value);
}

textarea
{
/* 特にTEXTAREAタグの空白処理 */
 white-space:pre-wrap;
 resize: both;
}

input[type=hidden]
{
/* 特にHTML hiddenテキストフィールドの外観 */
 display: none !important;
}

input[type=image]
{
 content: attr(src,url);
 border: none;
}

select[size]
{
/* HTML4/XHTML1 <select>(sizeが1より大きい場合)- リスト外観 */
 display: inline-block;
 height: attr(size,em);
}

select,select[size=1]
{
/* HTML4/XHTML1 <select>(size未指定またはsize=1)- ポップアップメニュー */
 display: inline-block;
 height: 1em;
 overflow: hidden;
}

select[size]:active
{
/* アクティブなHTML <select>(sizeが1より大きい場合)- アクティブリスト外観 */
 display: inline-block;
}

optgroup,option
{
 display: block;
 white-space: nowrap;
}

optgroup[label],option[label]
{
 content: attr(label);
}

option[selected]::before
{
 display: inline;
 content: check;
}

/* FRAMEリサイズはこの仕様で直接扱わないが、
   以下のルールで合理的な動作を近似できる場合がある。 */

/*

frame { resize:both }
frame[noresize] { resize:none }

*/

適合性

文書の慣例

適合性要件は、記述的な主張とRFC 2119の用語の組み合わせで表現されます。規範的な部分におけるキーワード「MUST」「MUST NOT」「REQUIRED」「SHALL」「SHALL NOT」「SHOULD」「SHOULD NOT」「RECOMMENDED」「MAY」「OPTIONAL」は、RFC 2119で説明されている通りに解釈されます。ただし、読みやすさのため、本仕様ではこれらの単語は全て大文字ではありません。

本仕様のすべての本文は規範的ですが、明示的に非規範的と記載されたセクション、例、注記は除きます。[RFC2119]

本仕様の例は「例えば」という語で始まるか、または次のようにclass="example"で規範的な文から分離されます:

これは参考例の一例です。

参考注記は「注:」で始まり、次のようにclass="note"で規範的な文から分離されます:

注: これは参考注記です。

勧告(Advisement)は特に注意を喚起するために規範的なスタイルで記述され、他の規範的な文から<strong class="advisement">で分離されます。例: UAはアクセシブルな代替手段を必ず提供しなければなりません。

適合性クラス

本仕様への適合性は、次の3つの適合性クラスについて定義されます:

スタイルシート
CSSスタイルシート
レンダラー
UA(ユーザーエージェント)。スタイルシートの意味を解釈し、それを使用した文書を描画するもの。
オーサリングツール
UA(ユーザーエージェント)。スタイルシートを作成するもの。

スタイルシートが本仕様に適合するためには、このモジュールで定義された構文を使用するすべての文が、一般CSS文法および本モジュールで定義された各機能の個別文法に従って有効でなければなりません。

レンダラーが本仕様に適合するためには、スタイルシートを適切な仕様に従って解釈するだけでなく、本仕様で定義されるすべての機能を正しく解析し、文書をそれに従って描画できることが必要です。ただし、デバイスの制限によってUAが文書を正しく描画できない場合でも、UAは非適合とはなりません。(例:モノクロモニターでは色の描画は要求されません。)

オーサリングツールが本仕様に適合するためには、一般CSS文法および本モジュール内の各機能の個別文法に従って構文的に正しいスタイルシートを書き、本モジュールで説明されるスタイルシートの他の適合要件も満たす必要があります。

CSSの責任ある実装のための要件

以下のセクションでは、現在および将来にわたる相互運用性を促進するための、CSSの責任ある実装に関する複数の適合要件を定義します。

部分的な実装

著者が前方互換なパース規則を利用してフォールバック値を指定できるように、CSSレンダラーは、サポートできないat-規則、プロパティ、プロパティ値、キーワード、その他の構文要素を無効として扱い(適切に無視する)、必ずそのように処理しなければなりません。 特に、ユーザーエージェントは、1つの複数値プロパティ宣言内でサポートされていない値のみを選択的に無視し、サポートされている値のみを適用してはなりません: いずれかの値が無効と判断された場合(サポートされていない値は必ず無効となる)、CSSは宣言全体が無視されることを要求します。

不安定および独自機能の実装

将来の安定したCSS機能との衝突を避けるため、CSSWGはベストプラクティスに従って、不安定な機能や独自拡張の実装を推奨します。

CRレベルの機能の実装

仕様が候補勧告(CR)段階に達した場合、実装者は仕様に従って正しく実装できると証明できるすべてのCRレベル機能について、プレフィックスなしの実装を公開し、プレフィックス付きのバリアントは公開しないようにするべきです。

CSSの相互運用性を確立・維持するために、CSSワーキンググループは、実験的でないCSSレンダラーが、CSS機能のプレフィックスなし実装をリリースする前に、実装レポート(必要に応じてそのテストケース)をW3Cに提出することを要請します。W3Cに提出されたテストケースは、CSSワーキンググループによるレビューと修正の対象となります。

テストケースおよび実装レポートの提出についての詳細は、CSSワーキンググループのウェブサイト https://www.w3.org/Style/CSS/Test/ を参照してください。 質問は public-css-testsuite@w3.org メーリングリストへ。

索引

本仕様で定義される用語

参照によって定義される用語

参考文献

規範的参考文献

[CSS-BACKGROUNDS-3]
Bert Bos; Elika Etemad; Brad Kemper. CSS Backgrounds and Borders Module Level 3. 2017年10月17日. CR. URL: https://www.w3.org/TR/css-backgrounds-3/
[CSS-COLOR-3]
Tantek Çelik; Chris Lilley; David Baron. CSS Color Module Level 3. 2018年3月15日. PR. URL: https://www.w3.org/TR/css-color-3/
[CSS-VALUES-3]
Tab Atkins Jr.; Elika Etemad. CSS Values and Units Module Level 3. 2016年9月29日. CR. URL: https://www.w3.org/TR/css-values-3/
[CSS-WRITING-MODES-3]
Elika Etemad; Koji Ishii. CSS Writing Modes Level 3. 2018年5月24日. CR. URL: https://www.w3.org/TR/css-writing-modes-3/
[CSS2]
Bert Bos; et al. Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. 2011年6月7日. REC. URL: https://www.w3.org/TR/CSS2/
[CSS3-IMAGES]
Elika Etemad; Tab Atkins Jr.. CSS Image Values and Replaced Content Module Level 3. 2012年4月17日. CR. URL: https://www.w3.org/TR/css3-images/
[HTML]
Anne van Kesteren; et al. HTML Standard. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[PNG]
Tom Lane. Portable Network Graphics (PNG) Specification (Second Edition). 2003年11月10日. REC. URL: https://www.w3.org/TR/PNG/
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. 1997年3月. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[SVG11]
Erik Dahlström; et al. Scalable Vector Graphics (SVG) 1.1 (Second Edition). 2011年8月16日. REC. URL: https://www.w3.org/TR/SVG11/
[SVG2]
Nikos Andronikos; et al. Scalable Vector Graphics (SVG) 2. 2016年9月15日. CR. URL: https://www.w3.org/TR/SVG2/
[UAX29]
Mark Davis; Laurențiu Iancu. Unicode Text Segmentation. 2017年6月13日. Unicode Standard Annex #29. URL: https://www.unicode.org/reports/tr29/tr29-31.html

参考情報文献

[CSS-CASCADE-4]
Elika Etemad; Tab Atkins Jr.. CSS Cascading and Inheritance Level 4. 2016年1月14日. CR. URL: https://www.w3.org/TR/css-cascade-4/
[CSS-PSEUDO-4]
Daniel Glazman; Elika Etemad; Alan Stearns. CSS Pseudo-Elements Module Level 4. 2016年6月7日. WD. URL: https://www.w3.org/TR/css-pseudo-4/
[CSS-TRANSITIONS-1]
David Baron; Dean Jackson; Brian Birtles. CSS Transitions. 2017年11月30日. WD. URL: https://www.w3.org/TR/css-transitions-1/
[CSS1]
Håkon Wium Lie; Bert Bos. Cascading Style Sheets (CSS1) Level 1 Specification. 2008年4月11日. REC. URL: https://www.w3.org/TR/REC-CSS1/
[CSS4-IMAGES]
Tab Atkins Jr.; Elika Etemad; Lea Verou. CSS Image Values and Replaced Content Module Level 4. 2017年4月13日. WD. URL: https://www.w3.org/TR/css-images-4/

プロパティ索引

名前 初期値 適用対象 継承 %ages メディア アニメーションタイプ 正規順序 算出値
box-sizing content-box | border-box content-box widthまたはheightを受け入れるすべての要素 no N/A visual discrete 文法に従う 指定値
caret-color auto | <color> auto 全要素 yes N/A インタラクティブ color 文法に従う auto値の場合はauto; currentColor値の場合はcurrentColor(詳細はcolorプロパティ参照)。その他の<color>値もcolorプロパティ参照。
cursor [ [<url> [<x> <y>]?,]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | grab | grabbing | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out ] ] auto 全要素 yes N/A visual, interactive discrete 文法に従う 指定値通り。ただし相対URLは絶対URLに変換される
outline [ <outline-color> || <outline-style> || <outline-width> ] 個別プロパティ参照 全要素 no N/A visual 個別プロパティ参照 文法に従う 個別プロパティ参照
outline-color <color> | invert invert 全要素 no N/A visual color 文法に従う invert値の場合はinvert; currentColor値の場合はcurrentColor(詳細はcolorプロパティ参照)。その他の<color>値もcolorプロパティ参照。
outline-offset <length> 0 全要素 no N/A visual length 文法に従う 絶対単位(pxまたは物理単位)での値
outline-style auto | <border-style> none 全要素 no N/A visual discrete 文法に従う 指定値通り
outline-width <line-width> medium 全要素 no N/A visual length 文法に従う 絶対長さ; outline-styleがnoneの場合は0
resize none | both | horizontal | vertical none overflowがvisible以外の要素、および任意で画像・動画・iframe等のreplaced要素 no N/A visual discrete 文法に従う 指定値通り
text-overflow clip | ellipsis clip ブロックコンテナ no N/A visual discrete 文法に従う 指定値通り