Home > blog > Web 関連 > リキッドデザイン問題は max-width と IE6 用 expression で解決
リキッドデザイン問題は max-width と IE6 用 expression で解決
これらを読んで、改めて Web サイトの横幅とリキッドデザインについて考えてみました。
Before

- わたしも以前は 100% 幅のリキッドデザイン ( 可変幅 ) を採用していました。
画面全体を有効に活用出来、横スクロールも出ない、俺最高! と。
ところがあるとき、「 ブラウザを最大化すると広がりすぎて見にくい 」 とのご指摘があり、その当時は 「 見にくいならウインドウ幅調節すれば良くね? そのためのリキッドなんだから 」 と、特に問題視していませんでした。 わたしも最大化して見てはいますが、常にサイドバーを表示しているため、そう広すぎるとは思わなかったので。
しかし、[ ウインドウ幅をそれぞれのサイトに合わせて調節しながら見る ] ことと [ 横スクロールバーが表示される ]、どちらも [ 普段の環境で快適に見られないことに対するストレス ] という点において同列のものだと気付いたのです。
100% 幅の可変デザインの問題点は理解したものの、かといって固定幅は小さい画面に合わせると大きい画面で余白がありすぎて不恰好になってしまうし ・・・・・・ という訳で出した結論は、
- 要素の幅の最小値と最大値を指定する CSS プロパティ [ min-width ] [ max-width ]
- 上記に対応していない IE6 には IE 独自のダイナミックプロパティ [ expression ]
これらを採用する、というものです。
After

- わたしのサイトはイラストサイトなので、展示するイラストの横幅の最大値 ( 600px ) を基準にします。 余白は左右 30px ずつ取り、ボーダーは 6px ずつ加えました。
- モダンブラウザ用 CSS
-
div.sample { border-left : 6px solid #E5E5E5; border-right : 6px solid #E5E5E5; min-width : 660px; max-width : 900px; width : 82%; }- 最小幅は 672px ( 600px + 余白 60px + ボーダー 12px )
- 最大幅は 912px ( 840px + 余白 60px + ボーダー 12px )
- その中間では、ブラウザの表示領域の 82% の幅にする
- IE6 用 CSS
-
* html div.sample { width : expression(document.body.clientWidth < 691? "671px" : document.body.clientWidth > 832? "812px" : "auto"); /* IE */ }- ブラウザの表示領域が 691px 以下の場合は 671px に
- ブラウザの表示領域が 832px 以上の場合は 812px にする
ここで注意しておかなければならないのは、
< 691? "671px"と> 832? "812px"を、< 671? "671px"> 812? "812px"のように 同値にしてはいけない ということ。 幅を変えるたびにブラウザが落ちて危険です。 なんというブラクラ。 少し余白を設けるように、数値に余裕を持たせてください。
イラストサイトである以上、イラストの最大幅よりも小さな表示領域の場合は横スクロールバーが出てしまうのは必至、と割り切りました。 max-width が min-width と 140px 240px しか違わないのは、[ 広すぎても読みにくい ] ということから自分が読みやすいと感じる値を算出した結果です。
最小値と最大値に迷っている方は、BROWSIZE.ORG でご自身のサイトの閲覧者の実状を研究してみてはいかがでしょうか。 サイトの方向性によって結果がガラリと変わってくるので、他のサイトでの解析結果が必ずしも当てはまるとは限りません。
追記
min と max の差が僅かしかない。 意味が無いような ・・・・・・。
はてなブックマーク - リキッドデザイン問題は max-width と IE6 用 expression で解決 - eclucifer blog
その [ 僅かな差 ] で横スクロールバーが出る Web デザインになったりするので、[ 僅かな差 ] というのは重要な問題。 と思ったけれど、考えてみれば [ max ] なのだからもう少し広げても良い気がする ・・・・・・ という訳で、100px 広げてみました。
おまけ
当サイトにおける過去一ヶ月のブラウザ利用状況 ( Google Analytics 調べ ) は以下のとおりです。
- ブラウザ利用状況

- Internet Explorer バージョン別利用状況

まだまだ IE 独断場といった感じ。 やっと IE7 が IE6 を追い抜いたばかりですが、来年の今頃、遅くても再来年には IE6 への対応に一手間掛けずに済みそうな伸びではあります。 やはり同梱のブラウザは強いですね。
- 画面解像度

- ちなみに画面解像度の結果はこのとおり。 横幅だけでなく、縦幅も考えさせられる感じ。 ヘッダを大きくしすぎて肝心のコンテンツがスクロールしないと見えない、というサイトも結構あったりしますね。
Data Information
- Date
- 2009-01-15 19:06
- Category
- blog / Web 関連
- Tags
- blog / CSS / JavaScript / push!! / tips / Web 関連 / Webデザイン / Web制作 / 考え方
Comments / Trackbacks
Trackback: IE6 の max-width と min-width と、expression についての覚え書き - ずっと工事中