border-shapeプロパティにこんな使い方があったとは! 一つの要素だけ背景色を幅いっぱいに広げるモダンCSSのテクニック

section要素を積み重ねたときに、一つの要素だけ背景色をブラウザの幅いっぱいに広げるモダンCSSのテクニックを紹介します。

下記は2番目のテキスト要素のとこだけオレンジ色の背景色をブラウザの幅いっぱいに広げたものです。

一つの要素だけ背景色を幅いっぱいに広げるモダンCSSのテクニック

ちなみに、すべてのsectionに背景色(グレー)を設定するとこんな感じです。設定した要素だけ背景が幅いっぱいになるのが分かると思います。

サイトのキャプチャ

実際の動作は、デモページでご覧ください。

See the Pen
border-shapeで要素の背景をウインドウいっぱいに
by coliss (@coliss)
on CodePen.

HTMLは、シンプルです。
sectionがあり、上から順にh1ph2ph3pが内包されています。

オレンジ色の背景色を適用しているのは2番目のsection内のpのみです。

要素の背景色を幅いっぱいに広げるには、border-shapeプロパティを使用します。border-shapeプロパティは、ボーダーに任意の形状(多角形・円など)を設定できます。

このテクニックの仕組みを解説します。
border-shapeプロパティは2つの形状値(外側と内側)を設定できます。そしてボーダーはこれらの形状間の領域として描画されます。外側の形状は幅いっぱいに伸びる長方形で、内側の形状は中心に配置された半径0の円です。内側の形状を何もない状態にすることで、外側の形状が完全に塗りつぶされます。

外側と内側でどのような挙動になっているかは、下記をご覧ください。

See the Pen
border-shapeプロパティの内側と外側の挙動
by coliss (@coliss)
on CodePen.

border-shapeプロパティのサポートブラウザは2026年9月現在、ChromeとEdgeのみです。ほかのブラウザでこのテクニックを使用したい場合は、下記のCSSを記述します。

border-shapeプロパティ非サポートブラウザでもこれで動作します。
下記は、Safari 26.6で表示したものです。

サイトのキャプチャ

実際の動作は、デモページでご覧ください。

See the Pen
border-shapeプロパティ非サポートブラウザ用
by coliss (@coliss)
on CodePen.

元ネタは、下記ポストより

sponsors

top of page

©2026 coliss