CSS GridやFlexboxに罫線を引く

GridやFlexboxのアイテム間に、CSSだけで罫線を引けるようになりました。

これまではアイテムごとにborderを指定したり、疑似要素を配置したり、背景色で線のように見せたりするなどの工夫が必要でした。CSS Gap Decorationsのcolumn-ruleやrow-ruleを使うことで、GridやFlexboxのgapに対して、わかりやすく簡単に罫線を引くことができるようになります。

column-ruleは列方向のgap、row-ruleは行方向のgapを装飾するプロパティです。Gridでは、各gapに対して線の太さやスタイルを順番に指定できます。Flexboxでも、折り返しなどによって生じたgapに合わせて罫線が描画されます。


.grid {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 grid-template-rows: repeat(4, 1fr);
 gap: 10px;

 column-rule-width: 1px, 3px, 5px;
 column-rule-style: solid, dashed, solid;
 column-rule-color: red;

 row-rule-width: 1px, 3px, 5px;
 row-rule-style: dashed, solid, dashed;
 row-rule-color: blue;

 rule-overlap: column-over-row;
}


この例では、4列・4行のグリッドに対して、列方向と行方向のgapに異なる罫線を指定しています。column-rule-widthやrow-rule-styleのように複数の値をカンマ区切りで指定すると、gapごとに異なるスタイルを適用できます。

また、rule-overlapを指定すると、行方向と列方向の罫線が交差する部分で、どちらの罫線を上に描画するかを制御できます。

2026年6月時点では、ChromeとEdgeの149以降で利用できます。非対応ブラウザーでは罫線の指定が無視され、通常のgapだけが表示されます。そのため、装飾目的であれば導入しやすい機能です。


Gap decorations: Now available in Chromium  |  Blog  |  Chrome for Developers


HM

インプラス株式会社

このブログの人気の投稿

googleドライブの同期は、フォルダ選択ができました。

技術メモ「503 Service Unavailable」

なかなか消えない亀アイコン