background-clip
背景の適用範囲を指定することができます。
サンプルコード
style.css
/* ボーダーボックスまで背景を適用(初期値) */
div.test { background-clip: border-box;}
/* コンテントボックスのみに適用(パディング領域には背景がつかない) */
div.test1 { background-clip: content-box;}
/* パディングボックスまで適用(ボーダー部分には背景がつかない) */
div.test2 { background-clip: padding-box;}
/* ボーダーの差が見えやすい実践例(transparentボーダーと組み合わせる) */
.clip-demo {
background-color: #0077cc;
border: 10px solid transparent;
background-clip: padding-box;
}
/* テキストにグラデーションを適用する実践例(text値) */
.gradient-text {
background-image: linear-gradient(to right, #ff6600, #0077cc);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
}
指定可能な値一覧
| 値 | 概要 |
|---|---|
| border-box | 背景をボーダーボックス(ボーダーの外側の端まで)に適用します。これが初期値です。 |
| content-box | 背景をコンテントボックス(要素の内容が表示される余白を含まない領域)に適用します。 |
| padding-box | 背景をパディングボックス(パディングの外側の端まで)に適用します。 |
ブラウザでの表示結果
<div style="border: dashed 10px #00f; height: 100px; padding: 10px; background-color: #ff0; background-clip: border-box;">高さ100px、パディング10pxのdiv要素です。『background-clip: border-box』と指定していますので背景はボーダーの外側まで描写されます。背景色は『#ff0』、ボーダーは『dashed 10px #00f』を指定しています。</div>
<div style="border: dashed 10px #00f; height: 100px; padding: 10px; background-color: #ff0; background-clip: content-box;">高さ100px、パディング10pxのdiv要素です。『background-clip: border-box』と指定していますので背景は要素の内容が表示される余白を含まない領域まで描写されます。背景色は『#ff0』、ボーダーは『dashed 10px #00f』を指定しています。</div>
<div style="border: dashed 10px #00f; height: 100px; padding: 10px; background-color: #ff0; background-clip: padding-box;">高さ100px、パディング10pxのdiv要素です。『background-clip: border-box』と指定していますので背景はパディングの外側の端まで描写されます。背景色は『#ff0』、ボーダーは『dashed 10px #00f』を指定しています。</div>
対応ブラウザ
デスクトップ
3 △
2 △
1 △↑ prefix『-moz-』が必要
4 △
3 △↑ prefix『-webkit-』が必要
2 以前 ×
8 ×
7 ×
6 ×
9 以前 ×モバイル
4 △
3 △
2 △
1 △↑ prefix『-webkit-』が必要
Android Browser
4.4 以降 ○
3 以前 ×デスクトップ版と同等の対応です
デスクトップ版と同等の対応です
概要
背景の適用範囲を指定することができます。
通常、背景はその要素のボーダーの外側まで描写されますが、『background-clip』プロパティを使用することによってコンテントボックス(要素の内容が表示される余白を含まない領域)や、パディングボックス(パディングの外側の端まで)のみに背景を表示させることができるようになります。上記のサンプルの黄色い背景が表示されている範囲をご確認下さい。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。