独自拡張 CSS と先行実装 CSS
- Date:
- 2008.01.07 (Mon) 12:05
- Category:
- CSS
各ブラウザが実装している独自拡張 CSS は「使わない」のが原則とされていますが、個人的にはもっと活用すべきだと考えています。今回はその理由をまとめてみます。
性質の異なる 2 種類の独自拡張 CSS
独自拡張 CSS といっても性質の異なる 2 種類があります。1 つ目は、IE の filter プロパティのように完全に仕様を無視したもの。これはまさしく「独自拡張」と言えるでしょう。
2 つ目は、草案段階の CSS を先行実装しているもの。たとえば、Gecko ブラウザが実装している -moz-opacity などがこれに当たります (opacity プロパティは CSS 3 で実装される予定)。ここでは「先行実装 CSS」と呼ぶことにします。
CSS の仕様を確認してみる
CSS 2 の仕様書を確認してみます。
「未知の特性をもつ宣言を無視しなければならない」とあるように、UA は未知のプロパティを無視することが仕様で定められているのです。仕様に正しく従う UA であれば問題はないのです。
使ってもよいサイト
問題がないからといって、どんなサイトでも積極的に使うべきではありません。サイトの性質をよく考える必要があるでしょう。
- 先行実装 CSS が適用されない場合でも問題なく閲覧できる
- 問題が起きたとき、すぐに対処できる
- ユーザー層がある程度限られている
自治体のサイトなど公共性の高いサイトでは使うべきではありません。不特定多数のユーザーが利用する上、利用するユーザー層も多種多様です。問題が起きたときに不利益を被る可能性も考えられます。
また、先行実装 CSS は Validation で invalid になります。そのあたりも考える必要があります。
まとめ
サイトの性質をよく考え、前方互換性を意識した先行実装 CSS であれば問題はない、というのが自分の答えです。というわけで今後、具体的な使い方を紹介していきたいと思います。
参考サイト
Tag
- Comment: 0
- Trackback: 0
Comment