2009年11月24日

IE8でbackground-colorが白とその値がnullとの表示が微妙に違う

現象

まず画像を見てみましょう。

最初の二つ白い背景のエリアに注目してください。

一番目は背景色を白い色(#FFFFFF)に設定したもので、

二番目が背景色をnullに設定したものです。

白い色に明確に設定したほうのborderの左と上の表示が少し違ってます。


またIE8の開発ツール(F12で呼ばれる、Firebugと似たデバッグツール)で見ても

background-colorが#ffffffになってる以外に、何の余計なスタイルもありませんでした。

なのでやはりbackground-colorが指定してないものと#ffffffに指定したものには差異が存在してます。


サンプルコード

<div>
<input id="foo" type="text" />
<input id="bar" type="text" />
</div>
<div>
<input id="hoge" class="gray" type="text" />
<input class="gray" type="text" />
</div>
$(document).ready(function(){
  // 元の背景色を保持
  var original = $("#foo").css("background-color");
  alert(original);  // output is "ffffff"
  // 元の背景色を再設定、値は同じはず
  $("#foo").css("background-color",original);
  // 他の背景色はこんな現象がないみたい
  // あるとしても発見しづらい
  var hogeColor = $("#hoge").css("background-color");
  alert(hogeColor); // output is "gray"
  $("#hoge").css("background-color",hogeColor);
});
Share on Twitter Share the post
Qihuan Piao

朴 起煥

東京で働いている「外人歴」9年のソフトウェア「ライター」。いつの間にか納豆が食えるようになり、これで日本に慣れきったと思いきやまだまだ驚きが続いてる。読んだり書いたりするのが好きで、自身の経験や本から得た「何か」をここに書き出してる。最近古本屋にハマってる。

他にも英語中国語で書いてます、よろしければチェックしてみてください。