カテゴリ: CSS 更新日: 2025/11/21

CSSのユーティリティクラスでマージン・パディングを最適化!BEMやフレームワーク活用ガイド

spacingを保つためのユーティリティクラスの考え方(BEMやフレームワーク連携)
spacingを保つためのユーティリティクラスの考え方(BEMやフレームワーク連携)

先生と生徒の会話形式で理解しよう

生徒

「先生、マージンやパディングを毎回CSSで書くのが面倒です。もっと簡単に統一できませんか?」

先生

「その場合はユーティリティクラスを使う方法があります。ユーティリティクラスとは、CSSのマージンやパディングを予めクラスとして用意しておき、HTMLにクラスを付けるだけで余白を統一できる考え方です。」

生徒

「ユーティリティクラスってBEMやBootstrapのフレームワークとどう組み合わせるんですか?」

先生

「BEMを使えばクラス名の命名規則が明確になり、フレームワークのユーティリティクラスとも衝突せずに使いやすくなります。」

1. ユーティリティクラスとは何か?

1. ユーティリティクラスとは何か?
1. ユーティリティクラスとは何か?

ユーティリティクラスとは、マージンやパディング、色、文字サイズなど特定のスタイルを一つだけ持ったCSSクラスです。例えば、m-3というクラスを付ければマージンを一定の大きさに統一でき、p-2でパディングを簡単に設定できます。

初心者でも理解しやすい例えとして、ユーティリティクラスは「サイズ違いの積み木」と考えるとわかりやすいです。積み木の高さや幅をそろえることで見た目が整うように、ユーティリティクラスを使うと余白の統一が簡単になります。

2. BEMでユーティリティクラスを整理する

2. BEMでユーティリティクラスを整理する
2. BEMでユーティリティクラスを整理する

BEMとは「Block」「Element」「Modifier」の略で、クラス名の命名規則です。例えば、ブログ記事の見出しにマージンを付けたい場合、article__title--mt-3のように命名します。

BEMを使うと、ユーティリティクラスと要素のスタイルを区別しやすく、CSSの管理が簡単になります。また、フレームワークのBootstrapやTailwindCSSのクラスとも衝突しにくくなります。


<style>
    .article__title--mt-3 {
        margin-top: 1rem;
    }
    .article__content--pb-2 {
        padding-bottom: 0.5rem;
    }
</style>

<h2 class="article__title--mt-3">記事の見出し</h2>
<p class="article__content--pb-2">ここに記事の本文が入ります。</p>
ブラウザ表示

3. フレームワークのユーティリティクラス活用

3. フレームワークのユーティリティクラス活用
3. フレームワークのユーティリティクラス活用

BootstrapやTailwindCSSなどのフレームワークには、m-3p-2のようにマージン・パディング用のユーティリティクラスが用意されています。これを使うと自分でCSSを作らなくても統一された余白を簡単に設定できます。


<div class="mb-3 p-2 bg-light border">
    Bootstrapのユーティリティクラスで余白を統一
</div>
ブラウザ表示

フレームワークとBEMを組み合わせることで、独自の命名規則と共通のユーティリティクラスを両立できます。例えば、記事のコンポーネントにはarticle__header mb-3のように、BEMクラスとフレームワーククラスを併用できます。

4. ユーティリティクラス設計のポイント

4. ユーティリティクラス設計のポイント
4. ユーティリティクラス設計のポイント
  • マージンやパディングの値は統一して命名すると管理しやすい。
  • BEMを使って要素ごとにユーティリティクラスを区別する。
  • フレームワークの既存ユーティリティクラスと衝突しないように命名を工夫する。
  • クラスを組み合わせることで柔軟に余白を調整できる。
  • 初心者はまずフレームワークのユーティリティクラスを活用し、慣れてきたら独自のBEMクラスを作るのがおすすめ。

このようにユーティリティクラスを上手に設計することで、ブログやウェブサイトの記事レイアウトで統一感を出しつつ、CSSの記述量を減らすことができます。結果として、保守性が高く、見やすいデザインを簡単に実現できます。

5. まとめに向けた実践例

5. まとめに向けた実践例
5. まとめに向けた実践例

例えば、ブログ記事の見出し、段落、ボックスのマージンとパディングを統一したい場合、BEMを使ってarticle__title--mt-3article__content--pb-2のように命名し、Bootstrapのmb-3p-2クラスと組み合わせると、全体の余白を簡単に管理できます。これにより、記事全体のspacingが整い、SEO的にも読みやすく、ユーザーに優しいページになります。

カテゴリの一覧へ
新着記事
New1
HTML
HTMLの歴史と進化を初心者向けに解説!HTML4からHTML5への変遷
New2
CSS
CSSセレクタの命名規則とBEMの基本を徹底解説!初心者にもやさしいCSS設計ガイド
New3
Bootstrap
Bootstrapのオフセットと並び替えを完全解説!offsetとorderで初心者でもできる柔軟レイアウト
New4
HTML
HTMLの役割とは?CSS・JavaScriptとの違いと連携を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSグリッドレイアウト完全入門!display: grid の基本と使い方を初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.3
Java&Spring記事人気No3
CSS
CSSの複数セレクタ指定を完全解説!初心者でもわかるカンマ区切りの使い方
No.4
Java&Spring記事人気No4
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点
No.5
Java&Spring記事人気No5
CSS
CSSのフレックスボックスで要素を左右に寄せる方法を完全ガイド!初心者でもわかるjustify-content: space-between
No.6
Java&Spring記事人気No6
CSS
CSS Gridとは?初心者でもわかるグリッドレイアウトとフレックスとの違いをやさしく解説
No.7
Java&Spring記事人気No7
CSS
CSSの画面サイズ対応スタイル完全ガイド!初心者でもわかる相対単位の使い方
No.8
Java&Spring記事人気No8
CSS
CSSグリッド入門!grid-areaで名前付き領域を使ったレイアウトの作り方をやさしく解説