最小限のHTMLとモダンCSSで実装! コンテンツをボーダーで囲って、ボーダーの上部にタイトルを配置するテクニック

テキストや画像をボーダーで囲って、ボーダーの上部にタイトルを配置したいと思ったことはありませんか?

以前はこれをCSSで実装しようとしてもかなりトリッキーな実装でした。またfieldsetlegendでも実装できますが、そもそもフォームではない上に、CSSによる装飾も貧弱です。

fieldsetのコンポーネントを最小限のHTMLとモダンCSSで実現したテクニックを紹介します。レスポンシブに完全対応で、方向directionにも対応しています。

コンテンツをボーダーで囲って、ボーダーの上部にタイトルを配置するテクニック

まずは、デモページでその動作をご確認ください。
上から、通常、中央配置、rtlの右書きの3つです。

See the Pen
CSSを使用して<fieldset>(およびlegend)を実装
by coliss (@coliss)
on CodePen.

HTMLは非常にシンプルです。
見出しのh3とテキストのpdivで括ります。

CSSは、すこし長いです。
角丸やボーダーの幅やカラーはCSSの変数で設定しているので、カスタマイズは簡単だと思います。

ボーダーの上部にタイトル用のスペースを確保しているのは、clip-pathを使用しています。文字の幅に合わせてスペースが自動的に増減します。

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

sponsors

top of page

©2026 coliss