LINEで現役エンジニアに直接質問してみよう!登録無料

【2020年度版】オススメのリセットCSS 8選まとめ!メリット・デメリットやカスタマイズ方法も解説

OSやブラウザが異なると、Webページを見た時にデザインが異なってしまう場合があります。reset cssを使うと、一度すべてのスタイルを同じにリセットすることが出来ます。

reset cssは、スタイルを上書きしているだけなので、「何処までリセットするのか」や「手法」等によって様々な種類があります。

この記事では、reset cssが必要な理由や、メリット・デメリットに加え、オススメのreset cssまで紹介します。

合わせて読みたい

\ CSSについてわからない人は、下記記事で解説しています!参考にどうぞ /

reset cssとは?

reset cssとは、「Google Chrome」「firefox」「Safari」「Internet Explorer」など異なるブラウザで同じWebページを表示させた時、同じように見えるるように、デザインの差異を消すためのCSSのことです。

もともとブラウザには、表示されるすべてのページに適用される「user agent stylesheet(UA stylesheet)」と呼ばれるデフォルトのスタイルが適用されています。

reset cssはこの「UA stylesheet」を上書きし、ブラウザごとに持っているスタイルを使わないようにして、すべてのスタイルを揃える役割があります。

MEMO

UA stylesheetはオープンソースで世界中に公開されており、誰でも見ることが出来ます。

reset cssは実際に様々なWebサイトで使われています。

reset cssの書き方・使用例

reset cssは単なるCSSファイルなので、<link>を使って読み込むだけで使うことが出来ます。

しかし、自身のスタイルシートのあとにreset cssを持ってきてしまうと、それすらもリセットされてしまいます。なので、スタイルシートで一番最初に読み込むのをreset cssにするのを忘れないようにしましょう。

reset cssのメリット・デメリット

reset cssは簡単にブラウザをスタイルを揃えることが出来ますが、同時にリセットした項目をまた自分で再設定しなくていはいけない等のデメリットもあります。

メリットとデメリットをまとめると、このようになります。

  • メリット:
    • すべてのブラウザでスタイルを統一することが出来る
    • カスタマイズしたスタイルを他のサイトで使いまわしやすくなる
  • デメリット:
    • リセットした項目を自分で再設定しなくてはいけない
    • ソースコードの分量が大きくなる

すべてリセットするタイプ

このタイプは、marginやpaddingが0に設定されるだけでなく、font-sizaもすべて統一されます。 そのため、1つ1つのスタイルを自分で再定義する手間が発生します。

しかし、それで作ったスタイルはどのような場面でも使い回すことの出来る汎用性の高いCSS比較的簡単につくれます。

HTML5 Doctor Reset CSS

最新のHTML5に対応したreset cssで、古いブラウザへの対応を考慮していないため、ソースコードがとてもシンプルです。

カスタマイズ性もよく、なれるととても扱いやすいreset cssです。

ただし、box-sizingに関する設定は入っていないので、自分の書き方に合わせてbox-sizingを追加しましょう。 ちなみに、box-sizingは殆どのWebサイトで使われているものなので、迷ったら追加しておくのがいいでしょう。

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

Eric Mayer’s Reset CSS 2.0

これは「Eric Meyer氏」が作ったreset cssです。簡潔に言うと、「HTML5 Doctor Reset CSS」の劣化版です。

バージョンは「v2.0 | 20110126」と、とても古く昔のブラウザにも対応しているのですが、今ではそのようなブラウザは使われなくなってしまったので、新規プロジェクトではこのreset cssを導入しないほうがいいです。

しかし、今でも世界中のWebサイトで使われているので、ここで紹介します。

marginやpaddingを0に設定し、サンプルの通りすべての要素のスタイルをリセットするためのCSSです。

HTML5で廃止された要素も含んでいます。

Yahoo! (YUI 3) Reset CSS

スタイルを統一するのが目的のタイプ

ブラウザ間でmarginやpadding、font-sizeなどの差異が無いように調節する役割があります。

予め主要な設定は設定してくれるので、自分でカスタマイズする箇所が減り、スタイルを書く速度は上がります。

しかし、書き方によっては、「このreset cssを使わないとスタイルが全部壊れてしまう!」というになってしまうので、ブラウザの進化に合わせてreset cssを取り替える場合は向かないかもしれません。(そういう場面はあまりないかもしれませんが。)

A Modern CSS Reset

Reboot.css

Normalize.css

Normalize.cssは、ブラウザでの差異を取り払いながらも、marginやpadding、font-sizeなどのデフォルトスタイルを残してくれるreset cssです。

ress

特殊タイプ

Universal Selector '*' Reset

この記事を書いた人

自身がプログラミングを独学で勉強し始めて躓いた経験を元に、これから勉強をする人に向けに「イラスト多めでわかりやすい記事」にこだわって情報を発信しています。

現在はフルスタックエンジニアとしてサービス開発などのお仕事をしています。