本物のリキッドレイアウト

どうやら世の中の「リキッドレイアウト否定派」はリキッドレイアウトの真の姿をまるで知らないらしい。想像力が足りないのだろう。リキッドレイアウトというのは、ウィンドウ幅を小さくしても横スクロールバーがでないとか、本来そんなちんけなものではない。

リキッドレイアウトを否定するというのは、ウェブデザインを放棄することと同義だ。固定レイアウトというのは、例えば1024*768px向けデザインとでも言うべき代物で、ウェブデザインと呼ぶに相応しくない。

本物のリキッドレイアウトは隙間に流れ込む水のような振る舞いをする。Hatena::agenda - ブログのサイドバーは要らないではサイドバーを否定したが、実は一つ例外がある。本物のリキッドレイアウトを採用しているなら、サイドバーも有用となり得るのだ。

もちろんサイドバーとは何かを知っていなければならない。簡単にいえば、サイドバーのようなインターフェイスは、ユーザーのタスクの完了を補助するために使用できる。言い換えると、ユーザーが、今見ているメインの領域ではタスクを完了できない場合に、ユーザーをタスク完了のための適切なコンテンツにナビゲートしたり、ヒントを与えたりする為のある程度柔軟性のあるスペースとなり得るのが、サイドバーである。要するに意味不明なぶろぐぱーつや全然関係ない広告でなければそれでいい。

まず本文の部分はCSSでいうところのmax-widthプロパティが指定されたようにふるまう。閲覧者のウィンドウ幅が充分広くなると、当然左右、あるいは左右どちらかにスペースができる。そのスペースがある一定以上の幅になったとき、そのスペースに、それまで本文の下部にあった(あるいは異なるURIをもつ外部にあった)補足情報などがサイドバーとして登場する。つまり、ウィンドウをたくさん並べて並行閲覧していても、あるいは低解像度のモニタで閲覧しても、本文がキチンと表示されて利用しやすいリソースとなり、一方、高解像度のモニタでウィンドウを大きくしてみる閲覧者には、その投資に見合ったそれ相応の利益がある。

リキッドレイアウトのもう一つの有用な姿を。現在のウェブブラウザのページのメタファは、未来の利用者、あるいは現在のハイエンドな高解像度モニタ利用者にとっても本当に酷いものだ。あんな最低な縦スクロールで長い文章を読む気になるのは、他に選択肢がないからだろう。しかし本物のリキッドレイアウトは違う。あまった隙間に、今までスクロールして見ていた部分が流れ込むようになるのだ。本の見開き一ページのメタファを持ったスタイルシートをかぶせることも容易になる。もちろん閲覧環境によって1カラムだったりするし、場合によっては3カラムにも変化する。

実装について考えると、HTML5などという馬鹿げた進化の痛手を被る必要は全くない。本物のリンクタイプを色々追加して標準化してしまえばよいだけの話だ。例えば、margin:autoの隙間へリンクタイプ「contents」の外部リソースを自動で流し込むとか。ああ、「contents」は元々あったっけ。じゃあ今すぐにでもできるだろ。ついでにarticle要素とやらも、相当するclass名を標準化してしまえ。それで後方互換もバッチリだ。まあ私に言わせればarticle要素というのはbody要素のことだけどな。わらい。iGoogleかなんかでは「ぱーつ」をポンポン放り込んでカスタマイズできるようだけれども、全てのウェブページで出来たほうが圧倒的に便利。右上には「author」というタイプでリンクされた外部リソース、左側には同様に「contents」とか。全てのウェブページで同一の構成を保持できればもう迷うこともないだろう。

つづき