CSSの字句化

CSSの字句化

[1] WinIE 6 では、 IDENTescapeされた NULL (\000000) が含まれていても、 解釈上は NULL を除去します。 (CSSOM 上にも現れません。)

(名無しさん)

[2] 例:

しかし特性値では不可。

[3] font-family 特性値url() 関数内でも (escape 自体) 使えないようです。 (名無しさん)

[4] !important にも入れられるようです。

[5] Firefox 2 は >>2, >>4 のすべての例で NULL が無視されるようです (CSSOM にも現れません)。 (名無しさん)

[6] WinIE 6選択子中の * の前後に空白がなくても、あるとしたら解釈可能な場合、あるかのように扱います。

(名無しさん)

[7] WinIE 6 では特性値関数名鍵語escape の最後の空白の直後 (直前はだめ) に注釈を入れることができます。

https://suika.suikawiki.org/gate/2007/cssom/viewer.en.html?c=blockquote%20%7B%0D%0A%20%20background-image%3A%20u%5C72%20%2F**%2Fl(a)%3B%0D%0A%20%20color%3A%20r%5C47%20%2F**%2Fb(1%2C2%2C3)%3B%0D%0A%20%20display%3A%20blo%5C43%20%2F**%2Fk%3B%0D%0A%7D%0D%0A;h=;p=n;x=style-element
選択子要素型名特性名ではうまくいきませんでした。 (名無しさん)

[8] >>7 空白直前はだめですが、空白なしはおkでしたw (名無しさん)

[9] 50\% のような値は百分率ではなく、(未知の) 単位 %DIMENSION と解釈されるのですが、 WinIE 6 は正しい百分率であるとみなします。 Firefox 2 や Opera 9 は未知の単位として無視します。

https://suika.suikawiki.org/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20width%3A%20100%25%3B%0D%0A%7D%0D%0A%23test%20%7B%0D%0A%20%20background-color%3A%20blue%3B%0D%0A%20%20color%3A%20white%3B%0D%0A%20%20width%3A%2050%5C%25%3B%0D%0A%7D%0D%0A%23ref%20%7B%0D%0A%20%20background-color%3A%20green%3B%0D%0A%20%20color%3A%20white%3B%0D%0A%20%20width%3A%20100%25%3B%0D%0A%7D;h=%3Cp%20id%3Dtest%3Etest%3C%2Fp%3E%0D%0A%3Cp%20id%3Dref%3Ereference%3C%2Fp%3E;p=n;x=style-element

(名無しさん)

[10] WinIE 6数値単位付きの数値百分率値escape が使えるようです。

例えば: https://suika.suikawiki.org/gate/2007/cssom/viewer.en.html?c=p%20%7B%0A%20%20width%3A%2020em%3B%0A%7D%0A%23test%20%7B%0A%20%20background-color%3A%20blue%3B%0A%20%20color%3A%20white%3B%0A%20%20width%3A%201%5C30%20em%3B%0A%7D%0A%23ref%20%7B%0A%20%20background-color%3A%20green%3B%0A%20%20color%3A%20white%3B%0A%20%20width%3A%2020em%3B%0A%7D;h=%3Cp%20id%3Dtest%3Etest%3C%2Fp%3E%0A%3Cp%20id%3Dref%3Ereference%3C%2Fp%3E;p=n;x=style-element (1\30 em)、 https://suika.suikawiki.org/gate/2007/cssom/viewer.en.html?c=p%20%7B%0D%0A%20%20line-height%3A%203.0%3B%0D%0A%20%20float%3A%20left%3B%0D%0A%7D%0D%0A%23test%20%7B%0D%0A%20%20background-color%3A%20blue%3B%0D%0A%20%20color%3A%20white%3B%0D%0A%20%20line-height%3A%201.%5C30%3B%0D%0A%7D%0D%0A%23ref%20%7B%0D%0A%20%20background-color%3A%20green%3B%0D%0A%20%20color%3A%20white%3B%0D%0A%20%20line-height%3A%203.0%3B%0D%0A%7D;h=%3Cp%20id%3Dtest%3Etest%3C%2Fp%3E%0D%0A%3Cp%20id%3Dref%3Ereference%3C%2Fp%3E;p=n;x=style-element (1.\30)、 https://suika.suikawiki.org/gate/2007/cssom/viewer.en.html?c=p%20%7B%0D%0A%20%20line-height%3A%203.0%3B%0D%0A%20%20float%3A%20left%3B%0D%0A%7D%0D%0A%23test%20%7B%0D%0A%20%20background-color%3A%20blue%3B%0D%0A%20%20color%3A%20white%3B%0D%0A%20%20line-height%3A%201%5C.0%3B%0D%0A%7D%0D%0A%23ref%20%7B%0D%0A%20%20background-color%3A%20green%3B%0D%0A%20%20color%3A%20white%3B%0D%0A%20%20line-height%3A%203.0%3B%0D%0A%7D;h=%3Cp%20id%3Dtest%3Etest%3C%2Fp%3E%0D%0A%3Cp%20id%3Dref%3Ereference%3C%2Fp%3E;p=n;x=style-element (1\.0) (名無しさん)

[11] >>10 それどころか関数括弧とか読点までおkらしい: https://suika.suikawiki.org/gate/2007/cssom/viewer.en.html?c=body%20%7B%0D%0A%20%20background-image%3A%20url%5C(image%5C)%3B%0D%0A%7D;h=;p=n;x=style-element (url\(image\)), https://suika.suikawiki.org/gate/2007/cssom/viewer.en.html?c=body%20%7B%0D%0A%20%20background-color%3A%20rgb%5C(1%5C%2C%201%5C%2C%201%5C)%3B%0D%0A%7D;h=;p=n;x=style-element (rgb\(1\, 1\, 1\)) (名無しさん)

[12] WinIE 6 は、少なくても単位関数名関数名直後の ( に関して、 FULLWIDTH文字をそうでない文字と同一視します。

https://suika.suikawiki.org/gate/2007/cssom/viewer.en.html?c=body%20%7B%0D%0A%20%20font-size%3A%2012px%3B%0D%0A%7D%0D%0A%0D%0Abody%20%7B%0D%0A%20%20background-image%3A%20u%EF%BD%92%EF%BD%8C%EF%BC%88image)%3B%0D%0A%7D%0D%0Aspan%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%0D%0A%20%20font-size%3A%2030p%EF%BD%98%3B%0D%0A%7D%0D%0Aspan%20%7B%0D%0A%20%20color%3A%20r%EF%BD%87b%EF%BC%88255%2C%200%2C%200)%3B%0D%0A%7D%0D%0A;h=aaaaaa%3Cspan%3Ebbbbbb%3C%2Fspan%3E;p=n;x=style-element

(名無しさん)

[13] >>12 互換分解的なことをしているわけではなさそうです (他の互換写像を持つ文字は同一視されないみたいです)。 (名無しさん)

[14] >>1-5 Opera 9 だと、 \0 以降は捨てられるみたいです。 STRING 中でもそうです。

https://suika.suikawiki.org/gate/2007/cssom/viewer?c=p%3Abefore%5C0%20afte%20%7B%0D%0A%20%20content%5C0j%3A%20%22a%5C0%20b%22%3B%0D%0A%7D;h=%3Cp%3EXXXXXX;p=n;x=style-element

ただ、 https://suika.suikawiki.org/gate/2007/cssom/viewer?c=p%3Abefore%5C0%20after%20%7B%0D%0A%20%20content%5C0j%3A%20%22a%5C0%20b%22%3B%0D%0A%7D;h=%3Cp%3EXXXXXX;p=n;x=style-element はなぜか規則集合全体が無視されます (擬似要素の字数制限がある?)。 (名無しさん)

[15] WinIE 6IDENT 内の英数字連続4000文字で何らかの制限があるようです (それ以上続けても無視されます)。 その後に escape を1つ入れれば (例: \000020) 更に続けることができますが、 それがどういう扱いになるのか (続きなのか、次の IDENT になってしまうのか) はよくわかりません。 escape文字によってはうまくいきません (例えば \000041)。なお、非ASCII文字には4000文字の制限はないようです (検証不十分)。 (名無しさん)