IE6でfloatと同じ方向にmarginを適用すると2倍marginが反映される
floatプロパティと同じ方向にmarginプロパティを指定すると、同じ方向のmarginの値が2倍として計算さてしまう現象がIE6で発生します。
【CSS】
IE6以外の場合 (正常に表示されているサンプル) |
|
---|---|
IE6の場合 (不具合があるサンプル) |
この不具合(バグ)は以下の方法で解消することができます。
- floatと逆方向にmarginを指定する。
- IE6に対してのみdisplay:inline;にする(ハックを使用)。
- IE6に対してのみmarginの値を半分にする(ハックを使用)。
- marginではなくpaddingにする。
floatと逆方向にmarginを指定する
floatプロパティの指定と逆方向にmarginを指定します。
IE6に対してのみdisplay:inline;にする(ハックを使用)
displayプロパティの値ををinlineに指定します。
IE6に対してのみmarginの値を半分にする(ハックを使用)
marginプロパティの値を半分に指定します。
marginではなくpaddingにする
marginプロパティではなく、paddingプロパティを使用します。
装飾などに影響する場合はこの方法は適しません。