@import規則について。
CSSに於いて外部スタイルシートを取込む@import規則に関して解説します。
CSSでの@import規則とは。
CSSにおける@import規則とは、当該スタイルシートから外部スタイルシートを取込むための規則です。
@import規則は、必ずプロパティ定義の前に置かなければなりません。
- 何らかのプロパティ定義の後に置かれた@import規則は、不正なものとなります。
@import規則の書式。
@import規則の書式は、以下のようになります。
@import URI 出力メディア型;
URI
については、CSSで決められている「url(URI)」の書式でなくても、単純に文字列の形で与えても構わない事とされております。
- 相対URIは当該スタイルシート基準となります。
また、出力メディア型は任意で、必要なら複数個を「,」で区切って指定する事も出来ます。
- 但し、一部実装がおかしいユーザエージェントもあります。
@import規則の記述例。
例えば、当該スタイルシートと同じディレクトリ階層にあるスタイルシート「style2.css」を取り込みたい場合は、
@import url("style2.css");
と記述します。
@import規則に於ける注意事項。
@import規則の実装上の注意。
インターネットエクスプローラでの注意事項。
インターネットエクスプローラでは@import規則に出力メディア型を指定すると、指定されたスタイルシートを取り込めません。
- 但し、マッキントッシュ版の5.xでは、URIを「
url(URI)」の書式にすると出力メディア型を指定しても有効となります。 - 実はインターネットエクスプローラでは、@import規則に出力メディア型を指定すると、それもスタイルシートのURIの一部と誤認してサーヴァにリクエストしてしまうのです(この場合、URIを囲んだ引用符もURIの一部と誤認されてしまいます)。ですから、偶然該当するURIにスタイルシートがあればインポートされてしまうでしょう。
WAP 2.0での注意事項。
WAP 2.0では@import規則の実装を必須としておりますが、オープンウェーヴ社のWAP 2.0ブラウザには@import規則での相対パスをリンク元のHTML文書基準としてしまうバグがあり、この結果インポートに失敗してしまいます。実装されておりません