CSS ResetとNormalize
CSS resetとnormalizeスタイルシートで、ブラウザーのデフォルトスタイルの不整合を取り除きます。
「CSS ResetとNormalize」はCoddyKit上の無料CSS Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCSS Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CSS Academyコースには全4レッスンが含まれています。
問題:ブラウザーのデフォルト設定の違い
すべてのブラウザーには、見出し、マージン、パディング、リスト、フォーム要素などのデフォルトスタイルを定義したユーザーエージェントスタイルシートが組み込まれています。これらのデフォルト設定はブラウザーによって異なるため、表示が一貫しなくなります。
CSSリセット
CSSリセットはブラウザーのデフォルト設定をすべて削除し、白紙の状態を用意します。有名なEric Meyerのリセットでは、マージン、パディングなど多くのプロパティをゼロまたは none に設定します。
<h1>Title</h1>
<p>Paragraph with reset margins.</p>
<ul><li>Item</li><li>Item</li></ul>
<ol><li>Step</li><li>Step</li></ol>
CSS Normalize
Normalize.cssは異なるアプローチを取ります。すべてのデフォルト設定を削除するのではなく、ブラウザーのデフォルト設定を統一し、見出しのサイズなど便利なデフォルト設定を維持しながら既知のバグを修正します。
リセットとNormalizeのトレードオフ
比較:
- リセット:白紙の状態になり、すべてを自分で定義するため、作業量が増えます
- Normalize:便利なデフォルト設定を維持した一貫性のある基準になるため、カスタムコードが少なくて済みます
モダンCSSリセット
一般的なモダンリセット(Josh Comeauによるもの)は、影響の大きいデフォルト設定を対象にします。
<h1>Reset Demo</h1><h2>Sub</h2><h3>Sub</h3><h4>Sub</h4><h5>Sub</h5><h6>Sub</h6>
<p>Body text with smooth font rendering.</p>
<picture><img src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='120'><rect width='300' height='120' fill='%234f8fdb'/></svg>" alt="demo" /></picture>
<video controls></video>
<canvas></canvas>
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40"><circle cx="20" cy="20" r="18" fill="tomato"/></svg>
画像をブロック要素にする
画像に display: block を設定すると、コンテナ内の画像下部に生じるデフォルトのインライン間隔(line-height によるもの)をなくせます。
<img src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='160'><rect width='400' height='160' fill='%23ff6347'/></svg>" alt="block image" />
リストのリセットパターン
カスタムナビゲーションやUIリストをスタイリングするときは、リストマーカーとインデントを削除します。
<ul class="nav-list"><li>Home</li><li>Shop</li><li>About</li></ul>
フォーム要素のリセット
多くのブラウザーでは、フォーム要素(input、button、textarea)はデフォルトでフォントを継承しません。一般的な修正方法は次のとおりです。
<input type="text" placeholder="Name" />
<button>Submit</button>
<textarea placeholder="Message"></textarea>
<select><option>Choice A</option></select>
TailwindのPreflight
Tailwind CSSには、modern-normalizeを基盤とした独自のリセットPreflightが含まれています。Tailwindを使用すると、リセットが自動的に適用されます。
リセットの配置場所
リセットまたはnormalizeのスタイルシートは、コンポーネントやユーティリティのスタイルよりも前、必ず最初に配置します。カスケードの順序により、詳細度の競合を起こさずにリセットを上書きできます。
カスタムリセットの検討事項
完全なサードパーティ製リセットを読み込むのではなく、プロジェクトに合わせた最小限のリセットを自分で作成します。CSSのペイロードを小さく保つため、必要なルールだけを含めます。
<p>Base font-size and line-height set on the root element affect the whole page.</p>
理解度チェック
CSSリセットとCSS Normalizeの主な違いは何ですか。
まとめ
ブラウザーのデフォルトスタイルは一貫していません。CSSリセットはすべてのデフォルト設定を削除し、normalize.cssはそれらを統一します。モダンリセットは、box-sizing: border-box、画像の最大幅、フォーム要素で継承されるフォントなど、影響の大きいルールに重点を置きます。リセットは必ず最初に読み込みます。
AI チューターと学ぶ CSS — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 40
- レッスン
- 159
よくある質問
「CSS ResetとNormalize」レッスンは無料ですか?
はい。「CSS ResetとNormalize」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CSS Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CSS Academyコースには全4レッスンが含まれています。
「CSS ResetとNormalize」で何を学びますか?
CSS resetとnormalizeスタイルシートで、ブラウザーのデフォルトスタイルの不整合を取り除きます。 ブラウザで直接実行するハンズオンコードでCSS Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
CSS Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCSS Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「CSS ResetとNormalize」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCSS Academyレッスンでコードを書いて実行できますか?
はい。すべてのCSS Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Block、Inline、Inline-Block
- VisibilityとDisplay None
- Overflow:Scroll、Clip、Auto
- CSS ResetとNormalize