リセットCSSでブラウザ間差異をなくそう
リセット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');
~略~