zoom
zoomプロパティはIE独自のプロパティで、本来の機能は特定の要素の倍率を指定する為のプロパティですが、本来の機能として使う事は殆どなく、実際にはIEのバグを回避するために使われるケースが殆どです。
このzoomプロパティを使う事で、IE独自のhasLayoutプロパティの値がtrueになります。
尚、値をデフォルトのfalseに戻すには、zoom: normal;
とする事で可能です。
IE8は、hasLayoutプロパティを廃止しているので、バグ対策としては使用できませんが、接頭辞を使う事で本来の機能としてのzoomを使う事ができます。
- 対応ブラウザ
-
対応ブラウザを見てもらうと、WebKit系のSafariとChromeも対応となっていますが、ちょっと困った事に実際対応しちゃってます。
そのため、バグ回避でzoomプロパティの指定が有る場合WebKit系で思わぬ動作をする可能性も0では無いので、今後他のブラウザがzoomプロパティに対応したりする可能性も考え、IE6, 7用のハックを使っておいた方が安全かもしれません。
div.section {
/zoom: 1;
}
プロパティの前に/
を書く事でIE6, 7のみに適用されます。
プロパティの解説
- 値
- <実数>|<パーセント>|normal
- 初期値
- normal
- 適用される要素
- 全ての要素
- 継承
- します
zoomのサンプル
div.section {
zoom: 1;
clear: both;
margin: 10px 0 30px;
}
IE6, 7において何らかのバグが発生した場合の対処法として使います。
IE8においてzoomプロパティを本来の目的で使う場合は、以下のように接頭辞を付けて書きます。
p em {
-ms-zoom: 2;
}