CSSの「inset: 0;」の意味とは?

記事
IT・テクノロジー
CSSを書いていると、ときどき見かける inset: 0;。
一見シンプルなのに、「何をしているのか分かりづらい…」という声がよくあります。

この記事では、inset の役割と、inset: 0; が実際にどんな効果を持つのかをわかりやすく解説します。

insetとは?

inset は、要素の位置を決めるための ショートハンドプロパティです。

本来なら

top

right

bottom

left

の4つをそれぞれ書く必要がありますが、inset を使うとそれらをまとめて指定できます。

inset: 0; が意味すること

inset: 0; と書かれている場合、これは

top: 0

right: 0

bottom: 0

left: 0

を まとめて指定しているのと完全に同じ意味になります。

つまり、要素を親要素の四隅にピッタリ貼り付ける配置です。
特に、position: absolute や position: fixed と組み合わせて使われることが多いです。

何が便利なの?

position: absolute; inset: 0; とすると、

要素が親の中でいっぱいに広がる

background用の疑似要素(::before / ::after)を全面に敷ける

モーダルのオーバーレイなどを一瞬で全画面化できる

といった便利な使い方ができます。

わざわざ
top: 0; right: 0; bottom: 0; left: 0;
と長く書く必要がありません。

よくある利用シーン

背景装飾用の ::before を全面に広げたいとき

モーダルの黒い半透明の背景を全画面にしたいとき

スライダーやカードの上に重ねるレイヤーを作るとき

メディア要素の上にグラデーションを敷きたいとき

「とにかく全体に広げたい」時の定番テクニックです。

まとめ

inset: 0; は
top、right、bottom、left をすべて 0 にするショートハンドです。

「絶対配置の要素を親いっぱいに広げる」
この役割だけ覚えておけば、実務でもかなり使いやすくなります。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら