アウトラインは、フォーカス(
:focus)などの疑似クラスやスクリプトと組み合わせて、フォームのボタン、フィールド、リンクなどのオブジェクトを動的に強調して見せたいときに用いるプロパティです。
アウトラインは、ボーダー辺のすぐ外側に描画されるスペースを取らない輪郭線を形成します
(*1)。アウトラインは常に
ボックスの前面に表示され、表示、非表示の切り替えの際にも文書の再表示は行われません
(*2)。線幅を有する
ボーダーと異なり、スペースを取らないアウトラインは、文書整形に影響を与えません。また、矩形からなる
ボーダーとは異なり、常に四角形であるとは限りません。たとえば、複数行にわたる
インライン要素のアウトラインは、その文書全体の輪郭線からなる多角形を形成します。
たとえば、フォーカスを合わせた要素の周囲に黒の実線を、アクティブな要素の周囲に赤の実線を描画したい場合は、次のように記述します。
:focus { outline: thick solid black }
:active { outline: thick solid red }
*1 CSS2の仕様においては、「イメージマップを強調するために用いる」という記述があり、斜線を含む多角形や円形の強調をにおわしていますが、この記述は「アウトラインはボーダー辺のすぐ外側に描画される」という記述と矛盾します。
*2 CSS2仕様書において、「再表示を行うべきではない」と記述されており、「再表示を行わない」とは断言されていません。