background-clip背景の描画領域
背景色や背景画像を見せる範囲を、ボックスモデルの領域から選びます。
要素の背景をどのボックスまで描くか決めるプロパティ。border・padding・contentのどこで背景を切り取るか比べます。
background-clipとは?border-box・padding-box・content-boxをライブプレビューで切り替えながら、背景を描画する範囲、初期値、background-originとの違いを初学者向けに解説します。
.element background-clip: border-box;
値のパターン
background-clip背景色や背景画像を見せる範囲を、ボックスモデルの領域から選びます。
border | padding | content境界線、内側の余白、内容という入れ子の領域のどこまで背景を広げるか決めます。
clip選んだ領域の外側では、背景色も背景画像も描画されなくなります。
初期値はborder-boxです。半透明や破線のborderを使うと、背景が境界線の下まで伸びるかを確認しやすくなります。
border-box境界線の外側まで描画初期値padding-box境界線の内側まで描画borderを除くcontent-box内容領域だけに描画paddingも除くtext文字の形で背景を切り取る文字色の調整も必要padding-box, content-box背景ごとに描画範囲を指定カンマ区切り初期値のborder-boxでは、半透明や破線のborderのすき間にも背景が見え、要素全体をひと続きに塗れます。
.card { border: 8px dashed rgb(32 32 51 / 0.6); background-clip: border-box; }padding-boxを使うとborderの下から背景を除き、境界線と背景の色をはっきり分けられます。
.notice { background-clip: padding-box; }textで背景を文字の形に切り取り、文字色を透明にすると、グラデーション文字を作れます。
.title { background: linear-gradient(90deg, #7258e8, #d9472b); background-clip: text; color: transparent; }ポイント
background-clipは背景をどこまで描くかを決め、background-originは背景画像の位置を測る基準を決めます。初期値はborder-boxで、すべての要素と::first-letter・::first-lineに適用でき、子要素へは継承されません。背景は境界線の背後に描かれるため、border-boxとの差は半透明や破線のborderで確認しやすくなります。textを使う場合は、画像が読めないときも文字を読める代替色と十分なコントラストを用意します。
background-clip と一緒に使われるプロパティや、詳しい外部リファレンスをまとめました。