outline-width:アウトラインの太さを指定する

初期値 medium
適用対象 全ての要素
継承 しない
アニメーション <length>値
対応ブラウザ caniuseで確認

outline-widthプロパティの説明

outline-widthは、アウトラインの太さを指定します。アウトラインは、色や形状、太さといった装飾の値を持ちますが、要素のボックスやコンテンツのレイアウトには影響を与えません。

outlineを直訳すると輪郭線になりますが、境界線を表すborderとは明確な違いがあります。境界線は要素が作成するボックスの中で専有の面積を持ちますが、アウトラインは持ちません。主に、境界線は要素の装飾を担う実態なのに対して、アウトラインは要素の存在を表す概念という捉え方ができます。

アウトラインの装飾に関するプロパティは以下の通りです。

outline-widthに指定できる値

<length>
CSSで使用できる単位つきの長さを表す値です。ピクセルやポイントといった絶対値を表す単位、フォントサイズやビューポートといった相対値を表す単位を指定できます。負の値は使用できません。
thin
細い幅を表すキーワード値です。寸法はブラウザの実装に依存します。おおよそ1pxです。
medium
中太の幅を表すキーワード値です。寸法はブラウザの実装に依存します。おおよそ3pxです。
thick
太い幅を表すキーワード値です。寸法はブラウザの実装に依存します。おおよそ5pxです。

outline-widthの使い方とサンプル

outline-widthプロパティの構文は以下の通りです。

CSS
/* キーワード値 */
outline-width: thin;
outline-width: medium;
outline-width: thick;

/* <length>値 */
outline-width: 1px;
outline-width: 0.3em;
outline-width: 1vmax;

/* グローバル値 */
outline-width: inherit;
outline-width: initial;
outline-width: revert;
outline-width: unset;

outline-widthの実例

それでは実際にoutline-widthプロパティの書き方を見ていきましょう。以下の例は、テキストエリアがフォーカスされた時の装飾をfocus-visibleセレクタで上書きした時の比較です。

<label>要素をコンテナにして選択可能にしています。これをクリックするか、キーボードでフォーカスを移動して表示されるアウトラインを確認してみましょう。

表示確認
CSS
.samp_box {
	overflow: auto;
	padding: 0 1rem 1rem;
	background-color: #eee;
}
.samp_box > label {
	display: block;
	margin: 1rem 0 0;
	padding: .5rem;
	background-color: #fff;
	cursor: pointer;
}
label > span {
	display: block;
}
label > input[type="text"] {
	width: 200px;
}
input[type="text"]:focus-visible {
	outline-style: solid;
	outline-color: #f60;
}
#ta_1:focus-visible {
	outline-width: thin;
}
#ta_2:focus-visible {
	outline-width: medium;
}
#ta_3:focus-visible {
	outline-width: thick;
}
HTML
<section class="samp_box">
	<label for="ta_1">
		<span>outline-width: thin;</span>
		<input type="text" maxlength="16" id="ta_1">
	</label>
	<label for="ta_2">
		<span>outline-width: medium;</span>
		<input type="text" maxlength="16" id="ta_2">
	</label>
	<label for="ta_3">
		<span>outline-width: thick;</span>
		<input type="text" maxlength="16" id="ta_3">
	</label>
</section>

outline-widthに関連するCSSプロパティ

境界線・輪郭線
border 要素の周囲に境界線を付ける
border-bottom 要素の底辺に境界線を付ける
border-bottom-color 要素の底辺に表示する境界線の色を指定する
border-bottom-left-radius 要素の左下の角丸を指定する
border-bottom-right-radius 要素の右下の角丸を指定する
border-bottom-style 要素の底辺に表示する境界線の形状を指定する
border-bottom-width 要素の底辺に表示する境界線の幅を指定する
border-color 要素の境界線の色を指定する
border-image 要素の境界線に画像を指定する
border-image-outset 境界線の画像が要素の縁からはみ出す距離を指定する
border-image-repeat 境界線に表示させる画像の繰り返し方を指定する
border-image-slice 境界線に指定した画像の使用範囲を指定する
border-image-source 境界線に使用する画像ファイルを指定する
border-image-width 境界線に指定した画像の幅を指定する
border-left 要素の左辺に境界線を付ける
border-left-color 要素の左辺に表示する境界線の色を指定する
border-left-style 要素の左辺に表示する境界線の形状を指定する
border-left-width 要素の左辺に表示する境界線の幅を指定する
border-radius 要素の角丸についてまとめて指定する
border-right 要素の右辺に境界線を付ける
border-right-color 要素の右辺に表示する境界線の色を指定する
border-right-style 要素の右辺に表示する境界線の形状を指定する
border-right-width 要素の右辺に表示する境界線の幅を指定する
border-style 境界線の形状を指定する
border-top 要素の上辺に境界線を付ける
border-top-color 要素の上辺に表示境界線の色を指定する
border-top-left-radius 要素の左上の角丸を指定する
border-top-right-radius 要素の右上の角丸を指定する
border-top-style 要素の上辺に表示する境界線の形状を指定する
border-top-width 要素の上辺に表示する境界線の幅を指定する
border-width 境界線の幅を指定する
outline アウトラインの装飾を一括で指定する
outline-color アウトラインの色を指定する
outline-offset アウトラインと要素の空間を指定する
outline-style アウトラインの形状を指定する
outline-width アウトラインの太さを指定する