はじめに
実際、CSS の Zoom 属性は一般的に知られておらず、一部の CSS マニュアルにも記載されていません。実際、Zoom 属性は IE ブラウザ独自の属性であり、Firefox などのブラウザではサポートされていません。オブジェクトのスケーリングを設定または取得します。さらに、IE の hasLayout 属性のトリガー、フロートのクリア、マージンのオーバーラップのクリアなどの他の機能もあります。
Zoom 属性は IE ブラウザ独自の属性であるため、そのフローティング効果は IE ブラウザにのみ適用できますが、Firefox や Google などのブラウザでは、フローティングをクリアするには overflow:auto 属性を使用する必要があります。したがって、IE6、IE7、IE8、Firefox、および Google ブラウザとの互換性を実現するには、これら 2 つの属性を使用する必要があります。
ページを再構築するとき、複数の浮遊する小さなコンテナを含む大きなコンテナのレイアウトをよく使用しますが、外側の大きなコンテナの高さの値が固定されていない場合、大きなコンテナの高さは小さなコンテナによって変わりません。コンテナの高さが変化し、中身があふれてしまいます。このとき、フロートをクリアするだけで元に戻ります。したがって、overflow:auto 属性を大きな外部コンテナに追加する限り、IE7 および Firefox での float のクリアの問題は解決できますが、IE6 では有効にならないため、zoom も使用する必要があります。 IE のプライベート属性を使用して、互換性のある効果を完全にクリアします。
サンプルコード
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>MJBlog</title> <style type="text/css"> .box{ width:300px; height:auto; background-color: #000000; margin:100px auto; padding:5px; } .box h2{ width:300px; line-height:24px; color:#CCCCCC;} .xx { width:140px; float:left; height:24px; overflow:hidden; padding:0px 5px; line-height:24px; color: #FF9933;} .za{overflow:auto; zoom:1} .zb{overflow:auto;} .zc{zoom:1;} </style> </head> <body> <p class="box"> <h2>这个没加overflow:auto和zoom:1属性,没有清除浮动,底下的li产生溢出重叠现象</h2> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> </p> <p class="box za"> <h2>这个加overflow:auto和zoom:1属性,清除浮动,正常</h2> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> <p class="xx">福州酒吧万圣节派对活动</p> </p> </body> </html>
CSSのzoom属性やoverflow:auto属性のfloatクリアに関する関連記事の詳細については、PHP中国語Webサイトに注目してください。