Home > WEB | XHTML+CSS > IE6,7の背景が1pxズレる現象(バグ)

IE6,7の背景が1pxズレる現象(バグ)

CSSで中央揃えのレイアウトをマークアップするとき、私なんかは良くhtmlにbackgroundプロパティを指定し、背景画像をcenter topというポジションを指定する。
しかし、FirefoxやOperaなどでは問題ないが、IE6,7が1px右にズレて表示される。

素直にbodyに背景画像を指定すれば、ずれる事はまず無いが、bodyに他の背景画像を指定したり、無駄にdivタグを噛ませたりしなくては行けなかったりするので、出来るだけレイアウト目的でマークアップはしたくない事を考えるとhtmlに背景画像を指定しなくてはならない。でも1pxズレル:(

そんな時の対処法としては、ひとまずハックで応急処置。

背景画像を指定しているセレクタ(この場合hmtlになる)にpadding-left:1px;と指定すると一応IEでも普通に表示されるようになる。

しかしそのまま指定したのでは、FirefoxもOperaなどの他のブラウザも読んでしまうので、プロパティの頭に/(スラッシュ)、もしくはセレクタの頭に*(アスタリスク)とかつけてIEしか読み込ませないようにする。
例は下記の通り

        html{background:url(hoge.png) repeat-y top center ;
/padding-left:1px;
}

もしくは

       html{background:url(hoge.png) repeat-y top center ;
}
* html{ padding-left:1px; }

という感じ。

ハックの使い方はCSSの特徴を逆に活かす。
CSSは最後に指定しているセレクタを優先してレンダリングするので、必ずハックの指定は正規の指定の下に書く事が基本。
(たまに上手く行かないという時はCSSの個別性が反映されてしまっているか、書き方が間違っているかのどちらかなので、良く黙視で確認した方が良いです。バリデーションを通しても、もともとハック事態がValidでないので、使っても意味無いと思います。)

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://wd.kkws.org/archives/20/trackback
Listed below are links to weblogs that reference
IE6,7の背景が1pxズレる現象(バグ) from KANZAKI KAINE WEBSITE - WD

Home > WEB | XHTML+CSS > IE6,7の背景が1pxズレる現象(バグ)

Recommend
Tag Cloud
Feeds

Return to page top