.welina design

ブラウザのシェアとreset.css

WEBサイトを作るうえで、誰もが悩むコーディング作業の恐怖。
ブラウザ毎の解釈の違いが生み出す、意図しない表示の数々。

増えすぎたブラウザの種類。今現在、私が知っているブラウザだけでも多数あります。

  • Firefox
  • Internet Explorer Series
  • Netscape Series
  • Opera
  • Google Chrome
  • Safari
  • Flock
  • Sleipnir

その差異を補うべく、今現在も更新されているreset.cssのお話。

まず、reset.cssをご存知でない方のために、簡単に説明すると・・・。
コーディングの際、必ず行うであろう「ブラウザチェック」ですが、この作業で起こる「フォントの表示が違う」だとか「1pxずれた」だったり、「隙間が空いた」などなど・・・。これはブラウザによって、コアが違うために起こってしまう問題なのですが、この現象を回避するために、reset.cssというCSSを最初に適用し、ブラウザ毎の差異を可能な限りなくすというものです。

私が関わっている某ブログサイトのアクセスログでは、少し面白い結果も出ています。
IE7のシェアが、IE6を大分上回っていました。(600万PV/month)

みなさんもreset.cssを使われていると思いますが、ブラウザの種類と同様にreset.cssにも多数の種類があります。

一番有名なのが「YUI reset.css」でしょうか?
その他にも、「Ateneu Popular CSS Reset」や「Eric Meyer Reset CSS」なども存在します。

ブラウザ毎の差異を無くす意味で使われるreset.cssが、何故このように多数存在するのか。

「それほど多くの差異があり、回避策も多数存在するから」です。

みなさんは、どのreset.cssを使ってるのでしょうか?
またはどのようなreset.cssを自作したのでしょうか?

ちなみに今回は、私が日々の作業でトライ&エラーを繰り返しているreset.cssを紹介します。
ベースにはYUIを使用し、どんなサイトでも利用するであろうライブラリを拡張として記載。ここまでは、まあ普通だと思います。

最も検証に時間を費やしたフォント部分ですが、あえてアンチエイリアス無しのフォントファミリーを指定しています。
何故かというと、「文字間隔の違い」だったり、ちょっとした環境の違いで「文字潰れ」が起こるのを防ぐためです。
ブラウザによって改行位置が違ったりするのが、どうも納得いかなかったため、こういった形にしました。

※長いため閉じてあります。ツールバーの「+source」をクリックすると展開表示されます。


@charset "utf-8";


/* ====================================================
	
	
	
	Poisona Version 2.00
	welinadesign.com
	
	
	
====================================================*/


/* ====================================================
	
	
	
	スタイルの初期化
	
	
	
====================================================*/

html {
	overflow-y: scroll;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
	margin:0;
	padding:0;
}

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

fieldset,img { 
	border:0;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style:normal;
	font-weight:normal;
}

ol,ul {
	list-style:none;
}

caption,th {
	text-align:left;
}

h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}

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

fieldset,img {
	border:none;
}

abbr,acronym {
	border:0;
}

p {
	text-align:justify;
}

/* ----------------------------------------------------
	letter-spacingを使用した際、
	<br>を2個書かないと改行しないのを解消
---------------------------------------------------- */

br { /*  */
	letter-spacing:normal;
}





/* ====================================================
	
	
	
	よく使用するクラスライブラリ
	
	
	
====================================================*/

/* ----------------------------------------------------
	text-align
---------------------------------------------------- */
.ac {
	text-align: center;
}

.ar {
	text-align: right;
}

.al {
	text-align: left;
}

/* ----------------------------------------------------
	float
---------------------------------------------------- */

.fr {
	float: right;
}

.fl {
	float: left;
}

/* ----------------------------------------------------
	margin
---------------------------------------------------- */

.mt00 { margin-top:  0px !important; }
.mt05 { margin-top:  5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }

.mr00 { margin-right:  0px !important; }
.mr05 { margin-right:  5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }

.mb00 { margin-bottom:  0px !important; }
.mb05 { margin-bottom:  5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }

.ml00 { margin-left:  0px !important; }
.ml05 { margin-left:  5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }

/* ----------------------------------------------------
	padding
---------------------------------------------------- */

.pt00 { padding-top:  0px !important; }
.pt05 { padding-top:  5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }

.pr00 { padding-right:  0px !important; }
.pr05 { padding-right:  5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }

.pb00 { padding-bottom:  0px !important; }
.pb05 { padding-bottom:  5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }

.pl00 { padding-left:  0px !important; }
.pl05 { padding-left:  5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }






/* ====================================================
	
	
	
	creafixなどフロート解除関連
	
	
	
====================================================*/

.clear {
	clear: both;
}

/* ----------------------------------------------------
	clearfix の代用
	<div class="hr"><hr /></div>
---------------------------------------------------- */

div.hr { clear:both; }
div.hr hr { display:none; }

/* ----------------------------------------------------
	clearfix
---------------------------------------------------- */

.clearfix {
	zoom:1;
}

.clearfix:after {
	content: ".";
	display: block;
	height: 1px;
	clear: both;
	visibility: hidden;
	font-size: 0;
	line-height: 0;
	margin: -1px 0 0 0;
}

/* for MacIE5 \*//*/
.clearfix {
	height: auto;
	overflow: hidden;
}





/* ====================================================
	
	
	
	フォントサイズの初期化
	文字潰れやIEでのシャギー化を防ぐ意味で、アンチエイリアス系フォントは指定しません。
	
	
	
====================================================*/
body {
	font-size: 12px;
	*font-size: 75%;
	font-family: sans-serif;
	*font-family: "MS Pゴシック";
}

h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}

a , a:visited {
	overflow: hidden;
}

以前は、フォーム部分も徹底的に書いていたのですが、逆に自由度を潰してしまったためボツりました。
※何故「poisona」なのかは、ここでは省きます・・・。

いつかはブラウザが統一されるといいですね。