【2026年】現在の環境でのリセットCSS(reset.css)のまとめ【後編】

CSS CSS
この記事は約20分で読めます。

Before/After で見る効果・チェックリスト・WordPress 実装・base.css テンプレート集

この記事は前後編の2本構成です

  • 前編:Reset CSS の基本概念・種類の違い・主要ライブラリの特徴と選び方
  • 後編(この記事):Before/After で見る効果・WordPress 実装・base.css テンプレート集
  1. この記事で得られること
  2. 1. Before/After で見る ― Reset CSS は「どこに効くのか」
    1. 1-1. ブログ(テキスト中心のサイト)
      1. Before の状態
      2. After の状態
      3. ブログで特に効くポイント
    2. 1-2. LP(ランディングページ)
      1. Before の状態
      2. After の状態
      3. LP で特に効くポイント
    3. 1-3. フォーム ― Reset の真価が出る場所
      1. Before の状態
      2. After の状態
      3. フォームで特に効くポイント(最重要)
    4. 1-4. 管理画面 ― 表・メニュー・UI の統一感
      1. Before の状態
      2. After の状態
      3. 管理画面で特に効くポイント
  3. 2. チェックリスト ― 「Reset 選び」から「base.css 設計」へ
    1. STEP 1: 自分の案件を分類する
      1. Q1. CSS フレームワークを使う?(Tailwind / Bootstrap など)
      2. Q2. フォームが多い?(問い合わせ・購入・会員登録など)
      3. Q3. デザインを「白紙から」作る?(UI 作り込み・デザインシステム)
      4. Q4. できるだけ軽く、最低限でいい?
    2. STEP 2: Reset を入れたら「次にやること」を決める
      1. 全案件で決める(base.css 必須項目)
      2. 強い Reset を使った場合だけ追加で決める
  4. 3. base.css テンプレート集(コピペ OK)
    1. 3-1. 共通テンプレ(まずこれを入れる)
    2. 3-2. ブログ向け(読みやすさ最優先)
    3. 3-3. LP 向け(縦リズムと CTA 重視)
    4. 3-4. フォーム / 管理画面向け(入力の統一)
  5. 4. WordPress 実装 ― どこにどう入れるか
    1. 4-1. まず結論:おすすめの入れ方
    2. 4-2. パターン別:実装コード
      1. パターン A:子テーマで Reset + base.css を読み込む(本命)
      2. パターン B:CDN から読み込む(ファイルを置きたくない場合)
      3. パターン C:ブロックエディタ(Gutenberg)にも適用する
      4. パターン D:クラシックエディタの場合
    3. 4-3. Cocoon を使っている場合
  6. まとめ ― Reset は「選ぶ」より「運用設計」で勝つ
  7. 前編に戻る

この記事で得られること

前編では Reset CSS の「選び方」を解説しました。後編では、選んだ後の「使い方」にフォーカスします。

具体的には、以下の 4 つをお届けします。

  1. Before/After 画像で見る効果 ― ブログ・LP・フォーム・管理画面、それぞれで何が整うのか
  2. チェックリスト ― 「どれを選ぶ?」「次に何をする?」を Yes/No で判断
  3. base.css テンプレート集 ― 用途別にコピペで使えるコード
  4. WordPress 実装 ― Cocoon / 子テーマ / エディタ別の読み込み方法

1. Before/After で見る ― Reset CSS は「どこに効くのか」

「Reset CSS を入れると何が変わるの?」

言葉で説明するより、見た方が早いですよね。ここでは 4 種類の画面(ブログ・LP・フォーム・管理画面)を例に、Reset + base.css を適用する前と後の違い を視覚的に確認します。

💡 以下の画像は「概念図」です。違いを分かりやすくするため、実際より誇張して表現しています。

1-1. ブログ(テキスト中心のサイト)

ブログのようなテキスト中心のサイトでは、余白と行間のリズム が読みやすさを左右します。

Before の状態

見出しや段落の余白がブラウザ依存なので、「h2 の上がやたら広い」「リストのインデントが深すぎる」といったガタつきが起きやすい。

After の状態

Reset で初期スタイルのクセを整え、base.css で余白と行間を統一。文章のリズムが安定して、読みやすさがグッと上がる。

ブログで特に効くポイント

要素 Before の問題 After で解決
h1 / h2 UA の余白が過剰だったり、ブラウザで違ったり base.css で margin を統一
段落間隔 p + p のリズムがバラバラ margin-top: 1em などで固定
リスト ul / ol のインデントと marker が不揃い padding-left を統一
画像 親要素からはみ出すことがある max-width: 100% で防止

1-2. LP(ランディングページ)

LP は「ヒーローセクション + カード + CTA ボタン」という構成が多く、統一感 が命です。

Before の状態

見出しの margin やボタンの見た目が OS / ブラウザ依存になり、「同じデザインなのに、なんか揃って見えない」状態に。

After の状態

Reset でクセを薄め、base.css とコンポーネントで「同じルール」を適用。ブラウザが違っても同じ見た目になる。

LP で特に効くポイント

要素 Before の問題 After で解決
CTA ボタン フォント・余白・line-height が揺れる base.css で統一
見出し / 本文 縦のリズムがバラバラ padding / margin を自前で固定
カード UI box-sizing の違いでズレる box-sizing: border-box を全体適用

1-3. フォーム ― Reset の真価が出る場所

フォームは、Reset が「一番効く」と同時に「一番事故る」場所です。

なぜか? ブラウザのフォーム要素(input、button、select など)は、OS のネイティブ UI と連携していることが多く、Reset の仕方によっては「ボタンがボタンに見えなくなる」「チェックボックスが消える」といった事故が起きます。

強い Reset を使うなら、「フォームをゼロからデザインする覚悟」が必要です。

Before の状態

input の padding、button の font-size、select の見た目が OS / ブラウザでバラバラ。

After の状態

Reset + base.css でフォントを継承させ、padding と line-height を統一。OS 依存を減らしつつ、アクセシビリティ(:focus-visible)は維持。

フォームで特に効くポイント(最重要)

要素 Before の問題 After で解決
フォント input と button で font-family が違う font: inherit で継承
余白 padding / line-height が OS 依存 base.css で統一
フォーカス :focus-visible が消えることがある 明示的に設定して維持
checkbox / radio 強い Reset で見えなくなる 必要に応じて「戻す」CSS を追加

1-4. 管理画面 ― 表・メニュー・UI の統一感

管理画面は「表、リスト、フォーム、ボタン」が密集する場所。ベースのズレが目立ちやすく、Reset + base.css の効果が実感しやすいです。

Before の状態

表の行高がバラバラ、メニューの余白が不揃い、ボタンのサイズ感が統一されていない。

After の状態

Reset + base.css で「UI の粒度」が揃い、全体の体験が一気に良くなる。

管理画面で特に効くポイント

要素 Before の問題 After で解決
表の行高 line-height がバラバラ base.css で統一
メニューの余白 padding / margin が不揃い 統一ルールを適用
ボタン / 入力 フォームと同じ問題 フォーム用の base.css で解決

2. チェックリスト ― 「Reset 選び」から「base.css 設計」へ

「どの Reset を選べばいいか」は、実は 案件の特性 で決まります。

以下の Yes/No チェックリストを使えば、迷わず判断できます。

STEP 1: 自分の案件を分類する

Q1. CSS フレームワークを使う?(Tailwind / Bootstrap など)

  • Yes
    • Tailwind なら Preflight、Bootstrap なら Reboot がベースとして同梱されている
    • 外部の Reset CSS は原則入れない(入れると二重適用で事故る)
    • どうしても入れたい場合は、衝突がないか必ず検証
  • No → Q2 へ

Q2. フォームが多い?(問い合わせ・購入・会員登録など)

  • Yes
    • 強い Reset(destyle、the-new-css-reset)は避けるか、フォームコンポーネントを必ず自作
    • おすすめ:sanitize.css または normalize.css
  • No → Q3 へ

Q3. デザインを「白紙から」作る?(UI 作り込み・デザインシステム)

  • Yes
    • おすすめ:destyle.css または the-new-css-reset
    • ただし base.css + コンポーネント設計が必須
  • No → Q4 へ

Q4. できるだけ軽く、最低限でいい?

  • Yesmodern-normalize / modern-css-reset / minireset.css
  • Nosanitize.css(保守性が高く、長期運用に強い)

STEP 2: Reset を入れたら「次にやること」を決める

Reset を入れて終わりではありません。必ず決めるべき項目 があります。

ここを飛ばすと、結局「なんとなく崩れる」ままになってしまいます。

全案件で決める(base.css 必須項目)

項目 やること 理由
box-sizing *, *::before, *::after { box-sizing: border-box; } padding を含めたサイズ計算にする
body の基本設定 font-family / line-height / color 読みやすさのベースを作る
画像・動画 max-width: 100% コンテナからはみ出さないように
フォームのフォント font: inherit input と button でフォントを揃える
:focus-visible 消さない。むしろ明示的に設定 アクセシビリティを守る

強い Reset を使った場合だけ追加で決める

項目 やること 理由
見出し サイズ・余白・太さを設定 消えてしまっているので
リスト marker の表示、インデント幅 同上
ボタン padding / border-radius / cursor 同上
checkbox / radio 「戻す」CSS を書くか、完全自作するか 消えると操作できなくなる

3. base.css テンプレート集(コピペ OK)

「毎回同じこと書くの面倒…」という方のために、用途別にコピペで使えるテンプレート を用意しました。

3-1. 共通テンプレ(まずこれを入れる)

どんな案件でも必要になる、最小限の base.css です。

/* ============================================
   base.css - 共通テンプレート
   ============================================ */

/* Box sizing
   -------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Body
   -------------------------------------------- */
body {
  margin: 0;
  line-height: 1.6;
  font-family: 
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    "Noto Sans",
    sans-serif,
    "Apple Color Emoji",
    "Segoe UI Emoji",
    "Segoe UI Symbol";
}

/* Media(画像・動画のはみ出し防止)
   -------------------------------------------- */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

/* Form(フォント継承)
   -------------------------------------------- */
input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

/* Text wrapping(長い単語の折り返し)
   -------------------------------------------- */
h1, h2, h3, h4, h5, h6,
p {
  overflow-wrap: anywhere;
}

/* Focus(アクセシビリティ:消さない!)
   -------------------------------------------- */
:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

3-2. ブログ向け(読みやすさ最優先)

テキスト中心のサイトで、読みやすさ を最大化するための追加設定です。

/* ============================================
   base-blog.css - ブログ向け追加設定
   ============================================ */

/* CSS Variables(カスタマイズしやすく)
   -------------------------------------------- */
:root {
  --color-text: #111;
  --color-muted: #666;
  --max-width: 68ch; /* 読みやすい行長 */
}

/* Body
   -------------------------------------------- */
body {
  color: var(--color-text);
}

/* Main content(中央寄せ + 最大幅)
   -------------------------------------------- */
main {
  max-width: var(--max-width);
  margin-inline: auto;
  padding: 24px 16px;
}

/* Paragraphs(段落間隔)
   -------------------------------------------- */
p + p {
  margin-top: 1em;
}

/* Headings(見出し余白)
   -------------------------------------------- */
h1 {
  margin: 0 0 0.6em;
}

h2 {
  margin: 1.6em 0 0.6em;
}

h3 {
  margin: 1.2em 0 0.5em;
}

/* Lists(リストのインデント)
   -------------------------------------------- */
ul,
ol {
  padding-left: 1.25em;
}

3-3. LP 向け(縦リズムと CTA 重視)

LP で重要になる 縦のリズムCTA ボタン の設定です。

/* ============================================
   base-lp.css - LP向け追加設定
   ============================================ */

/* CSS Variables
   -------------------------------------------- */
:root {
  --radius: 14px;
}

/* Links(リンクの装飾)
   -------------------------------------------- */
a {
  color: inherit;
  text-underline-offset: 0.2em;
}

/* Buttons(CTA ボタン)
   -------------------------------------------- */
button,
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: var(--radius);
  border: 1px solid currentColor;
  background: transparent;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

button:hover,
.btn:hover {
  opacity: 0.8;
}

3-4. フォーム / 管理画面向け(入力の統一)

フォームが多い案件や管理画面で、入力要素を統一 するための設定です。

/* ============================================
   base-form.css - フォーム向け追加設定
   ============================================ */

/* Text inputs
   -------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
select,
textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #ccc;
  border-radius: 12px;
  background: #fff;
}

/* Textarea
   -------------------------------------------- */
textarea {
  min-height: 140px;
  resize: vertical;
}

/* Submit button
   -------------------------------------------- */
button[type="submit"] {
  padding: 12px 18px;
  border-radius: 14px;
  border: 0;
  background: #111;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

button[type="submit"]:hover {
  opacity: 0.85;
}

/* Focus states
   -------------------------------------------- */
input:focus,
select:focus,
textarea:focus {
  border-color: #111;
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

4. WordPress 実装 ― どこにどう入れるか

WordPress 案件では、「どこに Reset CSS を入れるか」で事故率が変わります。

結論から言うと、「子テーマ + wp_enqueue_style」が一番安全 です。

4-1. まず結論:おすすめの入れ方

環境 おすすめの方法
子テーマあり functions.phpwp_enqueue_style を使って読み込む
Cocoon 使用 Cocoon 子テーマの functions.php に追加(上と同じ)
ブロックエディタ フロントに加えて、エディタ側にも同じベースを当てる
クラシックエディタ add_editor_style() でエディタに当てる

4-2. パターン別:実装コード

パターン A:子テーマで Reset + base.css を読み込む(本命)

最も汎用的で安全なパターンです。

ファイル構成

/your-child-theme/
├── functions.php
├── style.css
└── assets/
    └── css/
        ├── reset.css   ← normalize.css などを保存
        └── base.css    ← 自前の base.css

functions.php

<?php
/**
 * Reset CSS + base.css をフロントに読み込む
 */
add_action('wp_enqueue_scripts', function () {
    
    // 1. Reset CSS(先に読み込む)
    wp_enqueue_style(
        'reset',
        get_stylesheet_directory_uri() . '/assets/css/reset.css',
        [],      // 依存なし
        '1.0.0'
    );

    // 2. base.css(Reset の次に読み込む)
    wp_enqueue_style(
        'base',
        get_stylesheet_directory_uri() . '/assets/css/base.css',
        ['reset'], // reset の後に読み込む
        '1.0.0'
    );

    // 3. テーマの style.css(最後に読み込む)
    wp_enqueue_style(
        'theme-style',
        get_stylesheet_uri(),
        ['base'], // base の後に読み込む
        '1.0.0'
    );
});

💡 ポイント
第3引数の配列(['reset']['base'])で依存関係を指定すると、読み込み順序が保証されます。

パターン B:CDN から読み込む(ファイルを置きたくない場合)

Reset CSS をファイルで管理したくない場合は、CDN から直接読み込むこともできます。

functions.php

<?php
add_action('wp_enqueue_scripts', function () {
    
    // 1. sanitize.css を CDN から読み込む
    wp_enqueue_style(
        'sanitize',
        'https://unpkg.com/sanitize.css',
        [],
        null  // CDN なのでバージョン指定なし
    );

    // 2. 自前の base.css
    wp_enqueue_style(
        'base',
        get_stylesheet_directory_uri() . '/assets/css/base.css',
        ['sanitize'],
        '1.0.0'
    );
});

パターン C:ブロックエディタ(Gutenberg)にも適用する

ブロックエディタを使っている場合、編集画面のスタイルは別管理 です。

フロントだけ整えても、編集画面では見た目が違う…ということになりがち。編集体験を揃えたいなら、エディタ側にも CSS を当てましょう。

ファイル構成(追加)

/your-child-theme/
└── assets/
    └── css/
        ├── reset.css
        ├── base.css
        └── editor.css  ← エディタ用(追加)

functions.php(追加)

<?php
/**
 * ブロックエディタにも CSS を適用
 */
add_action('enqueue_block_editor_assets', function () {
    
    // Reset
    wp_enqueue_style(
        'editor-reset',
        get_stylesheet_directory_uri() . '/assets/css/reset.css',
        [],
        '1.0.0'
    );

    // エディタ用 base
    wp_enqueue_style(
        'editor-style',
        get_stylesheet_directory_uri() . '/assets/css/editor.css',
        ['editor-reset'],
        '1.0.0'
    );
});

editor.css(例:フォントと行間だけ揃える)

/* ============================================
   editor.css - ブロックエディタ用
   ============================================ */

.editor-styles-wrapper {
  line-height: 1.6;
  font-family: 
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    "Noto Sans",
    sans-serif;
}

/* 見出しの余白(フロントと揃える)*/
.editor-styles-wrapper h1 {
  margin: 0 0 0.6em;
}

.editor-styles-wrapper h2 {
  margin: 1.6em 0 0.6em;
}

パターン D:クラシックエディタの場合

クラシックエディタ(TinyMCE)を使っている場合は、add_editor_style() を使います。

functions.php

<?php
add_action('after_setup_theme', function () {
    add_editor_style([
        'assets/css/reset.css',
        'assets/css/editor.css',
    ]);
});

⚠️ 注意
クラシックエディタは環境によって効き方が違います。「フォントと行間だけ揃える」くらいが安全です。

4-3. Cocoon を使っている場合

Cocoon は子テーマ運用が前提に近いテーマです。

Cocoon 子テーマの functions.php に、パターン A または B のコードをそのまま追加 すれば OK。

「追加 CSS」機能(管理画面から入力)でも可能ですが、ファイルで管理した方が Git 管理しやすく、メンテナンス性も高いです。

まとめ ― Reset は「選ぶ」より「運用設計」で勝つ

長い記事を最後まで読んでいただき、ありがとうございました。

後編の要点を整理します。

Reset CSS は「入れて終わり」ではありません。

  1. 画面タイプによって効き方が違う
    • ブログ → 余白と行間のリズム
    • LP → 統一感と CTA
    • フォーム → フォント継承とアクセシビリティ
    • 管理画面 → UI の粒度
  2. 本当に差が出るのは Reset の「後」
    • base.css の設計
    • フォームコンポーネントの作り込み
    • 二重適用の回避(フレームワークとの衝突)
  3. WordPress では「どこに入れるか」も重要
    • 子テーマ + wp_enqueue_style が基本
    • ブロックエディタを使うなら、エディタ側にも適用

Reset CSS は、派手な機能ではありません。でも、プロジェクトの土台 です。

ここを丁寧に設計するかどうかで、その後の開発体験が大きく変わります。

ぜひこの記事のテンプレートを活用して、あなたのプロジェクトに合った「Reset + base.css」を構築してください。

前編に戻る

Reset CSS の基本概念・種類の違い・主要ライブラリの特徴と選び方は、前編で解説しています。

前編へ

CSS
この記事を書いた人
rapls

I'm the solo developer behind Rapls Works, building WordPress plugins and web solutions.

Rapls Worksとして、WordPressプラグインやWebソリューションを個人開発しています。現場で役立つツールを、速く・安全に・使いやすく。

raplsをフォローする
シェアする
raplsをフォローする

コメント

タイトルとURLをコピーしました