アンダースコアハック

 

ホームページを作る時って、僕の場合何もしていない時間が多かったりします。
デザイン的なモノもあるのですが、問題はそこではないんですよ。

当初はかなり行き当たりバッタリで作っていたのですが、最近ではちゃんと
fireworksでレイアウトを作って、そこからイメージを書き出してみたりなど
割とちゃんとするようになりました。(まだまだでございますけどなぁ・・・)

で、何に時間が裂かれるのかというと、タグです。HTMLを打ち込んでいる
と、途中でCSSを触りたくなる衝動に駆られることが多々あり、あっちに
いってはこっちに行き、集中力が散漫になってしまうんですよね。

ただ、今回はちゃんとガマンして先にマークアップを終わらせたので、これは
問題外。主題はやはりブラウザによる見栄えの違いです。

ヘタすれば一日中悩んでしまうこともあって、サラリーマンの僕にとっては
死活問題です。なので、今回は最近学んだアンダースコアハックというもの
を使ってみることにしました。

常々から言われているように、IEにはバグが多くあります。例えば、マージン。
例えばCSSで margin-left:10px; と書いてもIEではそれより多くマージンを
取ります。しかし、firefoxではちゃんと10px分取るので、ここで誤差が生じる
というわけです。(悩みの種がまた一つ花咲くというわけですわいな。)

ここで使うのがアンダースコア(いわゆる下線「_」です)。通常CSSでは

margin-left:15px;

という感じで、ちゃんとルール通りに書かないと、反映されないのは周知の通り
ですが、そのプロパティの前にアンダースコアを入れると、なぜかIEはこれを優先
して読み込みます。(他のブラウザは読みません)

というわけで、IEバグの帳尻を合わせるには以下のようなプロパティになります。

margin-left:15px; (他のブラウザ用プロパティ)
_margin-left:15px; (IE専用のプロパティ)

もちろんマージン以外のプロパティにも使えますので、大変オススメの方法です。
まぁ・・・あんまり多用はしたくないので、ここぞという時にしか使いませんが、
悩むぐらいなら応急処置的に使ってもOKかなと僕は思います。

・・・しかし、IE7ではどうなっちゃうんでしょうね。中途半端に改良されていない事
を祈るばかりです。(ガンバルな、マイクロソフト。)



書き手 : センゴク / 日時 : 2006年11月 4日 22:09
「アンダースコアハック」へのトラックバック
トラックバックURL:
名前
メールアドレス
サイトURL
情報を保存
 保存すると次のコメント時がラクです。
コメント


Copyright © 2006 ウェブ職人道 All Rights Reserved.
Powered by Movable Type 4.1