ボーダー

outline

outline は要素の外側に線を描くショートハンドです。border と同じく太さ・線種・色を順不同で書けますが、レイアウトには影響しません。

構文

<line-width> || [ auto | <outline-line-style> ] || [ auto | <color> ]

プレビュー

プリセット
右下の角をドラッグするとサイズを変えられます

ショートハンドの内訳

outline
4pxoutline-width
solidoutline-style
#4a86cboutline-color

コード

.box {
  outline-offset: 6px;
  outline: 4px solid #4a86cb;
}

コントロール

outline-width4px
outline-stylesolid
outline-style
outline-color#4a86cb

解説

border との違い

  • 場所をとりません。太くしても要素のサイズや周りの位置は変わらず、隣の要素に重なって描かれます。
  • 辺ごとに変えられません。4 辺すべてが同じ線になります。
  • outline-offset で枠から離して描けます。負の値にすると内側に入り込みます。このページのプレビューでは見やすいように 6px 離しています。
  • 最近のブラウザでは border-radius の角丸に沿って描かれます。

省略したパーツ

outline-style を省略すると none になり、線は表示されません。outline-color を省略すると auto になり、ふつうは文字色(currentcolor)で描かれます。

auto とフォーカスリング

線種の auto は、ブラウザ標準のフォーカスリングと同じ見た目で描きます。outline はキーボード操作でのフォーカス表示に使われるので、outline: none で消すときは、:focus-visible に代わりのスタイルを必ず用意しましょう。