CSSのbackgrond-imageで指定した画像はボックス要素の境界線(border)やpaddingの余白部分にも重なって表示されます。この重なり方を変更することができるCSSが、background-clipです。これを使う事により、borderやpaddingの箇所に背景画像を表示させないように制御することができます。

background-clipには3つの値を設定することができます。

・background-clip:border-box;
初期値。背景画像を境界線まで重ね手表示

・background-clip:padding-box;
背景画像をパディング領域まで重ねて表示(境界線には重ならない)

・background-clip:content-box;
背景画像を境界線とパディング領域まで重ねないで表示

ソースコードはこのように。

.box {
	box-sizing: border-box;
	background-image: url(bg.jpg);
	width:300px;
	height:200px;
	padding:15px;
	border:15px dashed #000;
}
.padding {
	background-clip: padding-box;
}
.content {
	background-clip: content-box;
}
<p>background-clip:border-box; の例</p>
<div class="box border"></div>
<hr>
<p>background-clip:padding-box; の例</p>
<div class="box padding"></div>
<hr>
<p>background-clip:content-box; の例</p>
<div class="box content"></div>
<hr>

これを応用すると、CSSのborderをmargin代わりに使う、なんてこともできると思います。いろいろお試しください。



「いいね!」と思ったら、クリックお願いいたします<m(__)m>
にほんブログ村 資格ブログ IT系資格へ IT資格ランキング
にほんブログ村 IT技術ブログ Webサイト構築へ ウェブデザインランキング
にほんブログ村 介護ブログ 障がい者福祉・介護へ 障がい者ランキング
ABOUT ME
立花浩紀
福祉ITラボは障害福祉とWeb制作を専門とする立花浩紀の情報発信サイトです。Web制作事務所の経営に傍ら、障害福祉に関するお役立ち情報を提供しています。障害者雇用・障害年金・就労支援・資格取得・スキルアップ・フリーランス・Web制作・IT活用技術など、様々な分野で情報を発信しています。