カテゴリ: 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
CSS
CSSの子要素セレクタを完全ガイド!初心者でもわかる:first-child・:last-child・:nth-child()
New2
CSS
CSSの擬似要素::beforeと::afterを徹底解説!初心者でも使える具体例つき
New3
Bootstrap
Bootstrapのアクセシビリティ完全ガイド!初心者でもわかるvisually-hiddenの使い方
New4
CSS
CSSで見出しと本文をきれいに分ける方法!初心者でもわかるスタイルの使い方
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSの文字色と背景色の組み合わせで読みやすさアップ!初心者でもわかる可読性の改善方法
No.2
Java&Spring記事人気No2
CSS
CSSのスクロール可能なボックスを作る方法!初心者でもわかるoverflowとheightの使い方
No.3
Java&Spring記事人気No3
CSS
CSSの複数セレクタ指定を完全解説!初心者でもわかるカンマ区切りの使い方
No.4
Java&Spring記事人気No4
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.5
Java&Spring記事人気No5
Bootstrap
Bootstrap 5 のフォームの基本:入力・バリデーション・エラーメッセージ設計
No.6
Java&Spring記事人気No6
CSS
CSSセレクタとは?初心者でもわかる要素の指定方法をやさしく解説
No.7
Java&Spring記事人気No7
CSS
CSSの文字色と背景色をやさしく解説!初心者でもわかる基本の設定方法
No.8
Java&Spring記事人気No8
Bootstrap
Bootstrap 5のモーダルとオフキャンバスを完全ガイド!初心者がつまずくポイントも解説