リセットCSSでブラウザ間差異をなくそう

web

リセットCSSとは

ブラウザはそれぞれがスタイルシートを持っています。 優先順位はサイトのスタイルシートよりも低いですが、サイト側でデザインを指定せず∧ブラウザスタイルシートに記述がある箇所のデザインはブラウザのスタイルシートに依存します。

厄介なことにブラウザが持つスタイルシートはブラウザごとに内容が違います。 つまり同じサイトでも閲覧ブラウザによって表示される内容が変わってしまうのです。 それを解消するためにブラウザスタイルシートをクリアする目的で用いられるのがリセットCSSです。

リセットCSSは無条件に設定するものと考えて良いです。

使用方法

リセットCSSを作成する

それなりに量があるので、CSSファイル本体と分けた方が見栄えがいいです。 今回はreset.CSSファイルに作成する前提で書きます。

提供されているリセットCSSは何種類かありますが、差異はほとんどありません。 HTML5に対応しているものであれば好きなのを使えばいいでしょう。 今回は有名どころである「HTML5 Reset Stylesheet」を使用します。

ソースコードは下記サイトに掲載されているものです。 随時更新されているので、できればリンク先のものを使ってください。

/* 
HTML5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

HTML, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

これをreset.CSSに貼り付けて保存します。

リセットCSSを読み込む

CSSファイルの先頭でリセットCSSを読み込みます。 CSSは後ろに書いたものが優先されるので、リセットCSSの読み込みは前でしましょう


なお以下のようにCSSファイル内で別のCSSをimportで呼び出す手法もありますが、表示速度が遅くなるのであまりお勧めしません。 HTMLソースは綺麗になりますが、やる意味はあまりないでしょう。

/*-------------------------
  Import CSS file
-------------------------*/
@import url('reset.CSS');
~略~
eyecatch

デバイスのビューエリアや解像度でスタイルを切り替える方法

eyecatch

CSSのみで画像のようなボタンを作成する

ウェブサイトの記事

eyecatch

既存サービスと独自サイトのメリット・デメリット

eyecatch

SSL/TLS・SSL証明書・認証局とは

eyecatch

レスポンシブウェブデザインの設定方法

eyecatch

デバイスのビューエリアや解像度でスタイルを切り替える方法

eyecatch

サイトを毎日更新する意味はシステム的にはない

eyecatch

紙文書がインターネットになるまで

ウェブサイトの記事一覧HOME