これは「使いやすさの研究者」Nielsen博士も賞賛しているところです。テーブルレイアウトの術を勉強したり、WYSIWYG型のオーサリングツールの使用法を勉強するくらいなら、CSSのルールの書き方を勉強した方が遥かに有益かつ簡単です。CSSファイルの作成は特別なツールを必要としません。
従って、しばしば「CSSの欠点」かのように言われる「勉強するのが面倒臭い」というのは、ただただ、レガシーな方法を学んでしまった「ツケ」に他なりません。ただ、そのツケは、払う価値があります。
これはCSSに限らずスタイルシート一般に言えることですが、一つのスタイルシートをサイト全体で使う場合、ウェブサイトの外観を統一しない方が難しいといって良いでしょう。スタイルシートは、そういったウェブサイトデザインにとって有益な方向に自然、導いてくれます。
CSSは、(HTMLの)要素ごとに外観を一括指定することが出来るので、意味に基づく外観を統一するのに適しています。これは私が思う本来のデザインのあり方、つまり「意味を伝える為の媒体」としての外観デザインをする上で重要です。
WWWに文書を公開するということは、誰かに「伝える」のが唯一共通の最大の目的ですから、その妨げになる、「意味と直結しない理不尽なデザイン」は害悪以外の何者でもありません。CSSでこれをやるのは非常に骨が折れます。それが、利点です。
サイト全体で一つのスタイルシートファイルを用いることにより、一箇所の記述を変更するだけで、全体の修正を行うことが出来ます。外観デザインをより良いものにしようという心がけが、スマートな形で尊重されるのです。CSSはシンプルですから、尚この利点が生かされるでしょう。
ウェブは能動的なメディアです。ウェブデザインは紙面上のデザインとは全く異なります。その一つの良い例が、ユーザースタイルシートの存在です。閲覧者は、これを利用してウェブページの外観、ある要素の意味の外観を自分に合わせて補正することが出来ます。ウェブページ作者が、自分の環境に全く合わないスタイルシートを提供していたのなら、完全なユーザースタイルシートを用意してそっくり変換することも出来ます。
デザインを押し付けたいと考えるなら、そういったことをされるのはあまり好ましくないでしょうが、それならばHTMLを手段にするのは不適切です。デザインそのものを伝えたいのであれば、HTMLを用いること自体間違っています。
最低限の意味を伝えるのがHTMLで、その重要な補助をするのがスタイルシートです。これを理解している人にとって、ユーザーが自分で最適な閲覧環境を用意することが出来るというのは、非常に嬉しいスタイルシートの利点です。
CSSはスタイルの指定方法がが極めてシンプルなので、プログラマでなくても補正用ユーザースタイルシートを作ることは容易です。制作者のスタイルシート、閲覧者が用意した補正スタイルシート両者がうまく連携すると、UAによるCSS実装の違いをカバーできたりします。
少し前までは、CSSに対応していないブラウザが問題視されていました。しかし現在では外観志向のブラウザはほとんどCSS1を実装しています。これは何を意味するでしょうか。
CSSに対応していないブラウザを使うということは、「制作者が用意した見栄え情報を望まないユーザー」の選択肢であることを意味しているのです。つまり、CSS非対応ブラウザの利用者には見栄え情報を伝えずに済むという利点に、その性質を変貌させたと言えるでしょう。
ある特定のブラウザ用の独自拡張要素を用いることは、文書内容そのものに悪影響を与える危険がありました。しかしCSSを用いるなら、「ある特定のブラウザ」向けの表現をしても問題ありません。
宣言された独自拡張ルールは、解釈しないブラウザには無視されます。従って、最初にCSS1で規定されたルールのみを用いてスタイルを完成させ、その後CSS2、CSS3、最後に独自拡張ルールを記述するという段階的な方法でCSSファイルを作成すれば、さらに良いでしょう。
それでもまだ、CSSによるレイアウトは難しいと感じてしまう方もいるはずです。しかしそれは多くの場合、文書内容とは無関係な要素の配置に関する悩みではないでしょうか。
文書内容とは無関係な要素、これは例えばナビゲーション要素です。しかしこのナビゲーション要素というものは、「便利な機能」を文書内容に紛れ込ませた結果ですから、推測でしかありませんが、将来的にブラウザが提供する機能に取って代わられる可能性があります。長期的視点から個々のウェブページデザインを考える際、文書内容に無関係な要素を含めて勘案するのは止めておいた方が良いと、私は考えています。