カテゴリ: 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 Gridテンプレート集!よく使うWebレイアウトの作り方
New2
HTML
HTML head要素とは?meta・titleの役割と基本を解説
New3
Bootstrap
Bootstrap固定比率カラム完全ガイド!.col-6・.col-md-4の使い方とベストプラクティスを初心者向けに解説
New4
CSS
CSS Gridとメディアクエリで作る!レスポンシブデザイン完全入門
人気記事
No.1
Java&Spring記事人気No1
HTML
HTMLでできること・できないこと|初心者が迷う点を整理
No.2
Java&Spring記事人気No2
CSS
CSSの入れ子構造セレクタ完全ガイド!初心者でもわかる書き方と使い方
No.3
Java&Spring記事人気No3
CSS
CSS Gridの配置を視覚的にデザイン!grid-template-areasの設計方法
No.4
Java&Spring記事人気No4
CSS
CSSの文字色と背景色の組み合わせで読みやすさアップ!初心者でもわかる可読性の改善方法
No.5
Java&Spring記事人気No5
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.6
Java&Spring記事人気No6
Bootstrap
Bootstrap5グリッドとは?12分割の基本とrow・col・gutterを初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
HTML
HTML html/head/bodyタグの役割|文書構造の基本を整理
No.8
Java&Spring記事人気No8
CSS
CSS Gridレイアウト設計術!固定幅・自動幅・割合幅を組み合わせる方法