【CSS】背景だけ画面いっぱいに引く

CSS

タイトル通り、コンテンツは要素の幅に収めて、背景は画面いっぱいにしたい時のCSSです。

HTML

<div class="content">
		<div class="full">背景だけいっぱいに引く</div>
</div>

CSS

.full {
	background: #26a69a;
	margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50%);
	width: 100vw;
}

paddingが必要な場合は、こちらに差し替えます。

padding: 上下のpadding calc(50vw - 50% + 左右のpadding);

いつ使うの?

スマホ特化・モバイルファーストサイトを作るときに使いました。
こんな感じの、メインのコンテンツが細長くなっているサイトです。

背景なし・ありが切り替わるようにしたいけど、わざわざそのためにdivつけたくないな……と思いこの方法にいたりました。

参考:https://haniwaman.com/inner-over/

いいなと思ったら応援しよう!