CSSハックしてはいけない5つの理由
2009/03/05
![]() |
SitePoint: New Articles, Fresh Thinking for Web Developers and Designers |
WebページやWebアプリケーション開発の終盤に入ってから、特定のブラウザでレンダリングに問題があることが発見されるというのはままある状況だ。すぐに問題を解決することを目指してクイックハックやConditional-CSSの適用などを実施することもある。この方法は短期的に見れば効果があるが、長期的に見ると逆により多くの問題をもたらすため使わない方がいいという紹介がSitePoint: 5 Reasons to Avoid CSS Hacks and Conditional Stylesheetsで紹介されている。紹介されている理由は次のとおり。
- CSS妥当性検出が不可能 - クイックハックではブラウザの既知のバグを使っていたりベンダ固有のプロパティを使っていることがあり、ツールを使ったCSS妥当性検出が難しくなる。そのため本来の問題に気がつきにくくなる
- CSSが複雑になる - クイックハックは既存のルールセットにさらなるルールをもたらすことになる。複数のファイルに分割されたとしてもFirebugなどのツールで解析できるが、すべてのブラウザでFirebugが動作するわけではない。複雑さの上昇はデバッグやメンテナンス性を下げることにつながる
- 新しいまま保つことができない - ブラウザのバグに依存した対処ではアップグレードされたブラウザで問題が修正されて使えなくなる可能性がある。IE6における* html selectorなどはその例のひとつ
- ブラウザ検出 - 本来Webページはデバイスに依存するべきではない。CSSでもブラウザ検出は使わない方がいい
- 必要とされるケースは稀 - ちょっとしたレンダリングの違いはでてしまっても、CSSをクリーンに保ちすべてのブラウザで妥当に使える方がいい
SitePoint: 5 Reasons to Avoid CSS Hacks and Conditional Stylesheetsではつまるところ、ハックやConditional-CSSは貧弱な開発実施、診断や問題検出の失敗を招くため採用しない方がよく、プロジェクトの開始段階で問題を発見するなど早めの試験と頻繁に試験を実施することで、プロジェクトの終盤でそういったハックを適用する必要がないようにすればいいと紹介している。
ただし、デバイスの多様化によってどのブラウザでも表示されるデザインを作成することが必ずしもユーザ満足度の向上にはつながらない状況にもなってきてる。最小限の共有デザインについてはSitePoint: 5 Reasons to Avoid CSS Hacks and Conditional Stylesheetsの内容が適用できるが、さらに満足度の向上を図るには累進的拡張によるWebサイトの構築をが効果的だ。こちらも合わせてチェックしておきたい。
関連記事
- Webサイト構築手法、累進的拡張を知る[2008/10/15]
関連サイト
ヘッドライン
- Active Directory誕生10周年記念セミナーが2月27日に開催[12:26 2/10]システム管理
- NEC、サイオスら、自動バックアップバック「TWIN NAS 2TB パック」発表[11:45 2/10]システム管理
- グレープシティ、"Excel機能"を提供する.NETコンポーネントの新版発表[11:22 2/10]プログラミング
- トレンドマイクロ、USBメモリ型ウイルス検索製品「Portable Security」発表[10:42 2/10]セキュリティ
- 【コラム】FileMaker×PHPで作る、簡単・便利なWebアプリ 第49回 結果セットの取扱いに特化したクラス、FileMaker_ResultSet(2)[10:18 2/10]プログラミング
- CSS/HTMLリファレンスマニュアル、最新ブラウザ互換情報[09:00 2/10]JavaScript / CSS / HTML
- 【レビュー】BOOK REVIEW - 現場に振り回されるだけのSE人生がイヤならチカラをつけよう[09:00 2/10]SE力
- 【レポート】暗号2010年問題に向け「いつまでに何をすべきか」 - ベリサインが説明[08:00 2/10]セキュリティ
- ルネサス、RXファミリ第3弾としてモータ制御向け「RX62T」を製品化[07:00 2/10]エレクトロニクス
- Rambus、次世代携帯機器向けメモリ「モバイルXDR」を発表[21:16 2/9]エレクトロニクス








