いや、もう、ホントに。何でこの世にデフォルトスタイルシートなんてものがあるんだろうとか思う。勿論CSSが指定されてないページだとか、under HTML 4.0なページの為なんだろうけど。
いっそCSS指定されている要素はデフォルトスタイルシート無視するようになればいいのに。もしくはそういうCSSプロパティ用意するとか。
各UA(ブラウザー)は、それぞれ微妙に違ったデフォルトスタイルシートを持っている為、この差異が原因で「こっちは揃っているけど、あっちのブラウザーでは、なんかずれてる」なんて事がよく起こります。
なので、まず最初にUAのデフォルトスタイルシートの各エレメントの見栄えを制作者のスタイルシートで再定義して上書きし、各UAの表示のデコボコを出来るだけ埋めてからCSSデザインし始めるというやり方が楽チンだ。
僕はいつも、「デコボコ埋め+自分好みの大まかなスタイル」を定義して纏めたdefault.cssを用意して、必ず最初にそれを読み込ませてからレイアウトなどを組み、デザインに合わせてdefault.cssの各エレメントのスタイルを調整しながら作っている。
次善の策として上に引用したデフォルトスタイルの差異をなるべく無くすCSSみたいな方法があるが……でもこれって正確にデフォルトのスタイルを殺すには全プロパティを指定しないといけないんじゃなかろうか。CSSのプロパティって何種類有るんだろう?正直数えようって気が起きない。
CSS を作成している際に、当然の如くブラウザによって描画結果に違いが出てくるわけで、ムキーとか言いながらその差異を埋めていく作業が一番面倒っちゃあ面倒。んで、ボックスモデルやその他ブラウザごとのバグ以外で、極力そう言った差異を少なくするためには、一番最初に全称セレクタを使ってブラウザのデフォルトスタイルを消してしまうのが手っ取り早い。
全称セレクタってのは意外と盲点だった。そうかそんなものが在ったね。
ラベル:CSS

