IEのCSSの不具合を直す魔法の言葉「zoom:1」

カテゴリ:IEのCSSの問題を回避する技 2007年5月17日 17:50

今回もまた備忘録的なものです。

IE の CSS 表示で、たまになんだか変な挙動になることありませんか?
高さがおかしくなったり、場所がずれたり。
ちょっとどこで読んだか忘れてしまったんですが、どうやら特定のスタイルを適用すると、レンダリングが変わるんだかなんだかだとか。
hasLayoutONになるプロパティを指定すると、CSS の解釈が変わります。(IE のみ)

なので、たまにheightborderを設定すると表示が改善された、なんてことありませんか?
それらが、その「特定のスタイル」のようです。
だから、それらを設定することで正常に表示されたりするんですね。

ただ、borderにしろheightにしろ、IE 用に適用させてしまうと、他のブラウザ(Firefox とか)に影響が出ちゃいますよね。

そんなときにzoom:1です。
これは IE 独自スタイルにも関わらず、上で書いたように「特定のスタイル」の中に含まれます。
なので、heightなどで表示が改善されるような場合、そのスタイルにzoom:1を指定しておけば他のブラウザに影響を与えることなく IE だけにスタイルを適用することが可能となります。

なんかで行き詰ったら試してみるといいかも?

この記事のカテゴリー一覧を見る⇒IEのCSSの問題を回避する技

  • Hatenaブックマークに追加 Hatenaブックマーク数
  • livedoorクリップへ追加 livedoorクリップ数
  • Buzzurlにブックマーク Buzzurlブックマーク数
  • POOKMARK Airlinesへ追加
  • del.icio.usに追加

トラックバックURL

http://css-eblog.com/cgi-bin/mt/mt-tb.cgi/40

コメント

1 - tak さん

zoom:1 についての問題点があるみたいです。
http://likealunatic.jp/2007/09/16_zoom1.php

自身で詳しくは検証していないのですが…w

2009年7月29日 04:35

2 - えど Author Profile Pageさん

>>1 - takさん
コメントありがとうございます!
そうですね、ただ闇雲に入れると色々と問題ありそうですね。

CSS をやたらに増やすと、表示が遅くなるという問題もありますね。
(とは言っても、ちょっとしたものでは体感できるものでもありませんが・・)
やはり必要がある分だけ書く、というのがいいですよね。

この記事を見て「じゃあ全部に入れちゃおう」と思う人もいるかもしれないので
有用な記事の紹介、ありがとうございました!

2009年7月29日 09:46

コメントを投稿





承認されるまでコメントは表示されません。しばらくお待まちください。