記事個別表示 (1373)
これは「CSS2 のバックスラッシュの扱い | 水無月ばけらのえび日記」に関連するコメントです。
[1373] Re: えび日記 : 「CSS2 のバックスラッシュの扱い」
ばけら (2003年12月17日 12時48分)
>書き込んでスグニ関連のない話題だと気がつきました。間違い。すみません。あわてもの。
関係ないつながりで関係ない話を書いてみますが、16日の日記について。
http://d.hatena.ne.jp/hoshikuzu/20031216#p4
>ふと、思いますが、”で囲わなくても良し、というのは、IEでは、いつからなのでしょう。これって困るんですけど。フィルターにとって。まじめなフィルターであればあるほど、CSSの部分をしっかり仕様にあわせて構文解析するはずです。仕様をあてにしてサニタイズするとダメですか?
これですが、実は仕様自体が結構複雑でして、url() の中身となる場合は引用符で囲まなくて良いことになっています。CSS1 で最初に出てくる @import の例でも囲まれていません。
また、url() 関数を使わないで文字列を直で書くこともできることになっていますが、その場合は「キーワード」ではなく「文字列」を書かなければならないので、引用符で囲む必要があります。結論としては、@import の書き方には
@import url("……")
@import url(……)
@import "……"
の 3種があることになります。いちおう
@import ……
という書き方は駄目なはずで、これについては IE が気を利かせすぎという話になると思います。
また、二重引用符ではなく単引用符でも OK ですし、さらに後ろにメディアタイプ指定がついてくるパターンも存在します。
@import の書式については、CSS2 のこの辺りが詳しいです。
余談ですが、仕様的には
color: red;
を
color: "red"
と書いては駄目ということになっています。しかしこれは昔の IE では気を利かせて red と同一視していました (私の記憶が確かなら)。
これは IE6 の標準モードでは正しく無視されるという挙動になったのですが、互換モードだとやっぱり気を利かせて red と同一視します。
こんなふうに標準モードと互換モードで挙動が違うという話もあったりするので、もうとにかく厄介です。
これは「水無月ばけらのえび日記 : CSS2 のバックスラッシュの扱い」に関連するコメントです。
全読: [1344]Re: えび日記 : 「CSS2 のバックスラッシュの扱い」からのスレッド(20件)]