CSSとJavaScriptでmin-width max-width を実装する
2007年1月30日(火) 10:00CSSでmin-width max-width をそれぞれ行うことで、コンテナの最小幅・最大幅の指定ができる。リキッドレイアウトを採用していても、これらの指定を行うことでデザインが崩れない幅の有効範囲を持たせることができる。
しかし、min-width min-width のプロパティに対応していないInternet Explorer 6.xなどへは別途JavaScriptで対応する必要がある。
実際の記述例は以下のようになる。
スタイルシートの記述
<style type="text/css">
#container{
overflow:visible;
margin-right:auto;
margin-left:auto;
/*min-max width*/
min-width:668px;
max-width:980px;
/*min-max width for ie6*/
width:expression(ieXLiquidWidth());
}
</style>JavaScriptの記述
<script type="text/javascript">
<!-- min-max width for ie6 -->
function ieXLiquidWidth() {
if(document.body.clientWidth < 674){
return "668px";
}else if(document.body.clientWidth > 986){
return "980px";
}else{
return "auto";
}
}
</script>width:expression( JavaScript );はIE独自の拡張になっているので、それを利用してIE用に別途処理をJavaScriptで記述することで対応できる。
expressionの利用については、回避策としての利用をオススメしたい。もちろん今回紹介した方法以外にもHTML記述のみで同様の制御が可能なので、自身で判断していただきたい。
関連する記事
- ieFixed HTC - min-width max-widthをIE6で利用する
- Alpha Transparency PNG - VMLでアルファチャンネルを含むPNG表示
- Scroll RSS Icon - スクロールに連動するRSSアイコンの作り方
- Breadcrumb CSS - Appleに習うパンくずデザインCSS
- Array.remove - JavaScriptで指定した値を配列から削除処理
- Array.merge - JavaScriptで2つの配列をマージ処理
- scrollTop scrollLeft - ブラウザのスクロール状態を取得する
- CSSとJavaScriptでmin-width max-width を実装する

