CSSとHTMLを完全に分離するのは今のところ不可能に等しくね?

[ Web関係 ]

見た目の制御はCSSにまかせるはずが、HTML側で論理ブロックをいくつも定義しなくては綺麗なデザインになりにくくなったのは皮肉だ。

言ってることはもっともだし、私もすごく同感なんだけど、現状ではWebデザインする上で、所謂「構造」と「見栄え」を完全に分離することは不可能に等しいと思う。

例えば私のサイトではdiv要素を使ってないけど、CSSは私の書いたHTML構造に依存している。よってHTMLとCSSは完全に分離しているわけではありません。決まったところに決まったidやらclassが振られていないと現在のデザインにはならないという時点で理想にはほど遠い。

かといってid属性、class属性、div要素、span要素を全く使わずにHTMLを書いて、CSSで装飾を施したとしても、HTMLとCSSの依存関係が完全になくなるかというとそんなことはない。ADPのMomomo先生が以前ネタとして実験しているけど、決まった順番で決まった要素を並べないときちんと表示できないCSSは構造と見栄えの分離という点ではダメダメである。

登場する要素の順番に依存しないデザインっていうのは必然的に限られてくるわけで、そういった意味では現状「構造と見栄えの分離」は不可能に等しいし、現実的ではないと思う。そもそも、そこまでする意味がよく分からない。

文書のデザインっていうのは、少なからず構造に依存してるものなんじゃないかな。紙にレポート書く時とか、Wordで文書書くときとかもそうだけど、デザインを決める上で文書構造の影響は結構大きい。っていうか、デザインする時はその文書に合わせてデザインするのは当たり前というか、無理に分離する必要はないっていうか、できないっていうか。

何言いたいのか訳分からなくなってきたのでこの辺で終了。読み返すと、当たり前のことしか書いてないな。ま、いいや。私の頭の中の整理のためってことで。

追記

上に書いた話のなかには二つの話題が混同して書かれています。

一つは「CSSは、まずHTMLありきだから切り離して考えることは出来ない」ってごく当たり前のこと。後半の文書云々のくだりはこっちの話。

もう一つは「複雑なデザインをフルCSSで実現する上で、HTMLに見栄えのためのdiv要素が増えたり、HTMLの構造が複雑になることは現状ではある程度仕方ないのかな、でも何とかならないんだろうか」ってこと。前半のdivがどうのこうのとかはこちらの話題。

(混ぜるつもりはなかったんだけど、上手く頭の中で整理できてなかった。読み返してみたらなんか変な感じがしたので補足説明)

どっちも同じことに見えるかもしれないけど、私の中では別の話だ。

なんていうか、デザインを変更するたびにHTMLも変更しなきゃいけなくなる書き方は個人的にはあまり好ましくない。そういうページはメンテナンス性が高いとは言いがたいと思うんだ。デザインを変えるためにHTMLを書き換えなきゃいけないという点ではテーブルレイアウトと大差ない状態になってしまっているわけで。全てのモダンブラウザ(IE6含む)で、複雑なデザインを実現するためには、HTMLごと書き換えないとデザインの変更が利かないような書き方も、やむを得ない現状があって、嫌だなって。divなくしたところでそれが実現できるわけでもない。どうしたものやら、みたいな。そもそも見栄えのためにdivで括るんだったらテーブルレイアウトと大差ないよなぁ、とか。ヘッダとかってぶっちゃけ見栄えじゃね?とか。

(ちなみに、Javascriptで何とかするとかはなしね。あくまでHTMLとCSSのみで表現する場合の話)

よく分からないかもしれないけど、私の脳内にあるものをそのままアウトプットしただけでなので、特に何がいいたかったってわけじゃありません。もっと考えがまとまったらきちんと書くかも。

2007年12月10日月曜日 22時51分00秒