[1] [CITE[4月の月例パッチ「MS06-013」適用で、キヤノンのプリンタ用ソフトに不具合]] ([[名無しさん]] [WEAK[2006-04-17 22:23:46 +00:00]]) [2] の ie-crash-*.html。 [CODE(CSS)@en[[[cssText]]]] に代入する値が [[HTML]] [[要素]]の [[HTML DOM]] [[属性]]に由来する値だと [[WinIE 6]] ([[Windows XP]] [[SP2]]) がクラッシュします。 ;; [CODE(HTMLe)@en[[[body]]]] とか [CODE(HTMLe)@en[[[p]]]] とか [CODE(HTMLe)@en[[[textarea]]]] とか、おそらく[[要素型]]は任意。 そして [CODE(HTMLe)@en[[[text]]]] とか [CODE(HTMLe)@en[[[background]]]] とか [CODE(HTMLe)@en[[[className]]]] とか [CODE(HTMLe)@em[[[accessKey]]]] とか [CODE(HTMLe)@en[[[value]]]] とか [CODE(HTMLe)@en[[[defaultValue]]]] とか [CODE(HTMLe)@en[[[name]]]] とか [[HTML DOM]] の任意の[[属性]]でおk。 でも [CODE(HTMLe)@en[[[nodeName]]]] とか [CODE(HTMLe)@en[[[nodeValue]]]] とか [CODE(HTMLe)@en[[[nodeType]]]] とかだと無問題。 ([[名無しさん]] [WEAK[2007-05-10 13:57:17 +00:00]]) [3] [CITE[IT戦記 - style.cssText の使い処に関する考察]] ([CODE[2007-08-18 12:50:19 +09:00]] 版) ([[名無しさん]]) [4] [CODE(DOMi)@en[[[CSSCharsetRule]]]] の [CODE(DOMa)@en[[[cssText]]]] で得られる値 ([[Firefox]] 2、[[Opera]] 9): = [CODE(CSS)@en[@[[charset]] "]] = [CODE(DOMa)@en[[[encoding]]]] [[属性]]の値 -- [[構文解析]]時に[[大文字]]・[[小文字]]の[[正規化]]などはなされません。 -- [[構文解析]]時に [CODE(charname)@en[[[NULL]]]] (と [[Opera]] 9 ではそれ以降の[[文字列]]) は除去されます。 = [CODE(CSS)@en[";]] [CODE(DOMa)@en[[[encoding]]]] に [CODE(CSS)[[["]]]] や [CODE(CSS)[[[\]]]] が含まれていてもお構いなしです。 ([[名無しさん]]) [5] [CODE(CSS)@en[@[[namespace]]]] の [CODE(DOMa)@en[[[cssText]]]] で得られている値 ([[Firefox]] 2): = [CODE(CSS)@en[@[[namespace]] ]] (最後の1文字は [CODE(charname)@en[[[SPACE]]]]。) = もし[[名前空間接頭辞]]が指定されていれば、 それ、そのあとに [CODE(charname)@en[[[SPACE]]]] を1つ == [[構文解析]]時に [CODE(charname)@en[[[NULL]]]] (ry == 更に、[[構文解析]]時に[[小文字]]に[[正規化]]されています。 = [CODE(CSS)@en[[[url]](]] = [[名前空間URI]] == [[構文解析]]時に [CODE(charname)@en[[[NULL]]]] (ry = [CODE(CSS)@en[);]] [[名前空間接頭辞]]や[[名前空間URI]]にどんな[[文字]]が入っていようとお構いなしです。 ([[名無しさん]]) [6] [CODE(DOMi)@en[[[CSSStyleDeclaration]]]] の [CODE(DOMa)@en[[[cssText]]]] で得られる値 = 存在する[[特性]]ごとに: == [[特性名]] --- [[WinIE 6]] では、既知の[[特性]]については[[大文字]][[正規形]]、 未知の[[特性]]は元のまま、[[Firefox]] 2 と [[Opera]] 9 では、 [[小文字]][[正規形]] == [CODE(CSS)[[[:]]]] == [CODE(charname)@en[[[SPACE]]]] == [[特性値]] (対応する [[DOM属性]]や [CODE(DOMm)@en[[[getPropertyValue]]]] で得られる値) --- [[WinIE 6]] で未知の[[特性]]では、 [CODE(CSS)[[[:]]]] の後 [CODE(CSS)[[[!]]]] や [CODE(CSS)[[[;]]]] や [CODE(CSS)[[[;]]]] の前まで、先頭と末尾の[[空白]]なし、 [[注釈]]なし == [CODE(DOMm)@en[[[getPropertyPriority]]]] が [CODE(CSS)@en[[[important]]]] なら、[[Firefox]] 2 のみ: === [CODE(charname)@en[[[SPACE]]]] === [CODE(CSS)[[[!]]]] === [CODE(charname)@en[[[SPACE]]]] === [CODE(CSS)@en[[[important]]]] == ([[Opera]] 9 または [[WinIE 6]]) 次の[[特性]]があれば、 または ([[Firefox]] 2) 必ず: === [CODE(CSS)[[[;]]]] === 次の[[特性]]があれば、 [CODE(charname)@en[[[SPACE]]]] -- [[WinIE 6]] では、未知の[[特性]]の[[宣言]]でも対応する [[CSSOM]] [[属性]]が作られるので、それが [CODE(DOMa)@en[[[cssText]]]] にも反映される -- [[Opera]] 9 では、重複する[[特性]]の[[宣言]]でも対応する [[CSSOM]] 内の値が用意されるので、それが [CODE(DOMa)@en[[[cssText]]]] にも反映される - [[Firefox]] 2 と [[Opera]] 9 では、基本的に元の順序が保存される ([[Firefox]] 2 では [[shorthand]] にまとめられる場合もあり、 その場合は最初の [[longhand]] の場所にまとめられる、 [[shorthand]] の項を参照) - [[WinIE 6]] では既知の[[特性]]のあと未知の[[特性]]となる、 既知・未知それぞれの中の順序は不明 (既知の順序は決まっているのかもしれないが、意味のある順序には見えない、 未知の順序は [[JavaScript]] の[[列挙]]の順序か?) ([[名無しさん]]) [7] [CODE(DOMi)@en[[[CSSStyleRule]]]] の [CODE(DOMa)@en[[[cssText]]]] で得られる値: = [CODE(DOMa)@en[[[selectorText]]]] = [CODE(charname)@en[[[SPACE]]]] = [CODE(CSS)[[[{]]]] = [[WinIE 6]] では、[[改行]] = [[WinIE 6]] では、[CODE(charname)@en[[[SPACE]]]] = [CODE(DOMa)@en[[[style]]]] の [CODE(DOMa)@en[[[cssText]]]] = [[WinIE 6]] では、[[改行]] = [CODE(CSS)[[[}]]]] [[Firefox]] 2 と [[Opera]] 9 の挙動は一致 (ただし [CODE(DOMa)@en[[[style]]]] の [CODE(DOMa)@en[[[cssText]]]] や [CODE(DOMa)@en[[[selectorText]]]] で違っている) ([[名無しさん]]) [8] >>7 の [[WinIE 6]] は [CODE(DOMm)@en[[[CSSStyleSheet]]]] の [CODE(DOMa)@en[[[cssText]]]] のうち、 [CODE(DOMi)@en[[[CSSStyleRule]]]] 相当の部分。 ;; [CODE(DOMi)@en[[[CSSStyleRule]]]] の [CODE(DOMa)@en[[[cssText]]]] はないみたい。 ([[名無しさん]]) [9] >>8 で、最後に必ず[[改行]]。 ([[名無しさん]]) [10] >>8 で、最後に必ず[[改行]]。 ([[名無しさん]]) [11] [[WinIE 6]] の [CODE(DOMi)@en[[[CSSStyleSheet]]]] の [CODE(DOMa)@en[[[cssText]]]]: = [CODE(DOMi)@en[[[CSSImportRule]]]] の [CODE(DOMa)@en[[[cssText]]]] 相当 = [CODE(DOMi)@en[[[CSSFontFaceRule]]]] の [CODE(DOMa)@en[[[cssText]]]] 相当 = [CODE(DOMi)@en[[[CSSPageRule]]]] の [CODE(DOMa)@en[[[cssText]]]] 相当 = [CODE(DOMi)@en[[[CSSStyleRule]]]] の [CODE(DOMa)@en[[[cssText]]]] 相当 各 [CODE(DOMi)@en[[[CSSRule]]]] 相当の [CODE(DOMa)@en[[[cssText]]]] の連結です。各 [CODE(DOMi)@en[[[CSSRule]]]] 部は必ず[[改行]]で終わっています。 元の [[CSS]] の記述の順序に関わらず、種類毎に分けてでてきます。 種類内の順序は保存されます。 [CODE(CSS)@en[@[[media]]]] 内では[[規則集合]]、[CODE(CSS)@en[@[[import]]]]、 [CODE(CSS)@en[@[[page]]]]、[CODE(CSS)@en[@[[font-face]]]]、 [CODE(CSS)@en[@[[media]]]] が使えますが、 [[規則集合]]以外では[[媒体型]]の情報は保持されません。 [CODE(CSS)@en[@[[media]]]] に相当する [[CSSOM]] 上の[[物体]]はなく、[[規則集合]]はそれぞれ[[媒体型]]の情報を保持しているようです。 ([[名無しさん]]) [12] [[媒体型]]は [[titlecase]] [[正規形]]で、最長で [CODE(CSS)[Print, Screen, Tv, Unknown, Aural, Braille, Embossed, Handheld, Projection, Tty]] になります。これに含まれない値が元々指定されていたら [CODE(CSS)[Unknown]] になります。 [CODE(CSS)[Print, Screen, Tv, Aural, Braille, Embossed, Handheld, Projection, Tty]] は [CODE(DOMa)@en[[[cssText]]]] 時に [CODE(CSS)[All]] に置き換えられます (逆に言えば、[[構文解析]]時に逆方向に展開しているのでしょう)。 [[入れ子]]の [CODE(CSS)@en[@[[media]]]] は展開・変換後の[[集合]]に対して[[論理積]]をとっているようです。 [[空集合]]になると [CODE(CSS)@en[Unknown]] になっているようです。 ([[名無しさん]]) [13] [[規則集合]]に[[媒体型]]が指定されている場合、 [CODE(DOMa)@en[[[cssText]]]] の[[規則集合]]部分はこうなります: = [[改行]] = [CODE(CSS)@en[@[[media]]]] = [CODE(charname)@en[[[SPACE]]]] = [[媒体型]]名の[[並び]]の[[正規形]] (>>12) = [CODE(charname)@en[[[SPACE]]]] ×4 = [[改行]] = [CODE(CSS)[[[{]]]] = [[改行]] = [[規則集合]]の [CODE(DOMa)@en[[[cssText]]]] 相当 (>>7-9) = [[改行]] (↑の末尾も[[改行]]なので、[[空行]]になる) = [CODE(CSS)[[[}]]]] = [[改行]] ([[名無しさん]]) [14] >>13 [[媒体型]]名の[[並び]]の[[正規形]]がまったく同じ[[規則集合]]が連続する場合、 >>13 の9番の部分に[[規則集合]]が複数入ります。 ([[名無しさん]]) [15] その他の[[@規則]]の [CODE(DOMa)@en[[[cssText]]]] 相当の例: [PRE(CSS example code)[ @import url( style ); @import url( style ); @import url( a ); @import url( stylea ); @font-face { font-family: ; } @font-face { font-family: a; } @font-face { font-family: ; } @page xXXxxx {} @page a:lEft {} @page aa {} @page :lEft {margin: 1em 2px; } ]PRE] [16] [CITE[CANONICALIZATION OF CASCADING STYLE SHEET VALUES ]] ([TIME[2004-03-09 06:06:31 +09:00]] 版) [17] [CITE@en[Re: ''''''[''''''css3-fonts'''''']'''''''''['''cssom''']''' CSSFontFeatureValuesRule vs. CSSKeyframesRule]] ( ([[John Daggett]] 著, [TIME[2013-05-30 16:07:25 +09:00]] 版))