Single Article

IE6でmin-width,max-widthを実装する:CSS

IE7にも実装されたCSSのmin-width,max-width(min-height,max-heightも)は、リキッドレイアウトを採用する場合には非常に便利な属性なのだが、IE6で対応していないので、なんとか適用する方法を調べた。

まず、普通のモダンブラウザに適用するwidthとheightを適用する。

#container {
min-width: 600px; max-width: 1200px;
}

次に、IE6用にはJavaScriptのexpressionメソッドを使用して適用する。

* html #container {
width:expression(document.body.clientWidth < 600? “600px” :
document.body.clientWidth > 1200? “1200px” : “auto”);
}

ちなみにexpressionメソッドはIEに特有のもの(ダイナミックプロパティという)なので他のブラウザでは無視されるものの、余計なコードを読み込ませないように、「* html」hack(IE6以下だけに読み込ませるハック)を使用して分離するのが吉。

Related Posts

Trackback URL

3 Trackbacks/Pingbacks

  1. [...] IE6でmin-width,max-widthを実装する:CSS | Tech de Go [...]

  2. メモ:IE6でmin-height…

    別件で、久しぶりにCSSをいじってたんですが、IE6でmin-height(max-height、min-width、max-widthなんかも)が使えない問題に再度ぶつかる。
    前にこの問題にあたったときは、面倒くさくて「IE対応….

  3. IE6で「max-width」を使って、自動改行されない文字列を制御する方法…

    clientWidthを基準にして数値を一定の範囲に丸めてしまうという方法ですから、ブロックのレイアウト時にしか使用できません。 今回は、ページ中に不規則に何度も現れる要素のmax-widthを…

Post a Comment

Your email is never published nor shared.