「clearfix」のIE 7対策:その2
Post on:2006年12月21日
フロートした要素がはみ出してしまうのを回避する「clearfix」のIE 7対応版として、「min-height:1%」の紹介をしましたが、今回はほかの対応方法の紹介です。
IE5を対応ブラウザにするかしなかで、分けてみました。
「clearfix」のIE5.5~IE7対応版
- 「.clearfix」に「zoom:1;」を指定します。
1234567891011 .clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}<span class="accent1">.clearfix{zoom:1;}</span>
「clearfix」のIE5~IE7対応版
- 「overflow:hidden;」を指定し、IE5用に「height:1%;」を指定します。
12345678910111213141516 .clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}<span class="accent1">.clearfix{overflow:hidden;}/* Hides from IE-mac \*/* html .clearfix{height:1%;overflow:visible;}/* End hide from IE-mac */</span>
clearFixの注意点
- contentにピリオドの指定をしないと、Netscape 7で要素が非表示になる→「height:1px;」で解決するがレイアウトが1pxずれてしまう。
- IE7用に「display:inline-block;」「display:inline-table;」を利用すると、FirefoxのJavaScriptコンソールでパースエラーがでてしまう(指定は無視される)。
- IE7用にdisplayを使用すると、displayの値を切り替えるスクリプトを使用していると手間が増える。
clearFixの紹介サイト(英語)
Clearing a float container without source markup(Position Is Everything)
sponsors