1 |
wakaba |
1.1 |
|
2 |
|
|
[1] |
3 |
|
|
[SAMP(CSS)[clip:rect(0%, 101%, 101%, 0%);]] [PP10] |
4 |
|
|
|
5 |
|
|
[2] [CODE(DOMi)@en[Layer]].[CODE(DOMa)@en[[[clip]]]] |
6 |
|
|
,[CODE(DOMa)@en[[[bottom]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]]) |
7 |
|
|
,[CODE(DOMa)@en[[[height]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]]) |
8 |
|
|
,[CODE(DOMa)@en[[[left]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]]) |
9 |
|
|
,[CODE(DOMa)@en[[[right]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]]) |
10 |
|
|
,[CODE(DOMa)@en[[[top]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]]) |
11 |
|
|
,[CODE(DOMa)@en[[[width]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]]) |
12 |
|
|
|
13 |
|
|
[3] |
14 |
|
|
[[WinIE 6]] [[構文解析]]: |
15 |
|
|
= 零文字以上の[[空白]]を読み飛ばす。 |
16 |
|
|
= 次の[[字句]]が [CODE(CSS)@en[[[IDENT]]]] [CODE(CSS)@en[[[rect]]]] |
17 |
|
|
でなければ、[[宣言]]全体を[[無視]]し、終わり。 |
18 |
|
|
== 他の[[特性]]同様、[[大文字]]や[[escape]]や[[注釈]]を途中で使えます。 |
19 |
|
|
= 零個以上の[[空白]]を読み飛ばす。 |
20 |
|
|
= 次の[[字句]]が [CODE(CSS)[(]] でなければ、[[宣言]]全体を[[無視]]し、 |
21 |
|
|
終わり。 |
22 |
|
|
== 例によって [CODE(CSS)[(]] は [CODE(CSS)[\(]] でもおk。 |
23 |
|
|
== 前後に[[注釈]]があってもおk。 |
24 |
|
|
= 零個以上の[[空白]]を読み飛ばす。 |
25 |
|
|
= 次の[[字句]]を [CODE(CSS)@en[<[[length]]>]]、 |
26 |
|
|
[CODE(CSS)@en[<[[percentage]]>]]、または |
27 |
|
|
[CODE(CSS)@en['[[auto]]']] として解釈を試みる。 |
28 |
|
|
== 例によって、 [[CSS 2.1]] の定義ではなく、 [[WinIE]] |
29 |
|
|
の解釈による。 |
30 |
|
|
== [[奇癖モード]]や [CODE(CSS)[[[0]]] の場合には]] |
31 |
|
|
[CODE(CSS)@en[<[[number]]>]] の単位は [CODE(CSS)[[[px]]]] |
32 |
|
|
であったかのように扱われる。 |
33 |
|
|
== 解釈可能であれば、4辺にその値を設定する。 |
34 |
|
|
== 解釈可能でなければ、[[宣言]]全体を[[無視]]し、終わり。 |
35 |
|
|
= 1個以上の[[空白]]を読み飛ばすことができれば: |
36 |
|
|
== 次の[[字句]]を先程同様に解釈を試みる。 |
37 |
|
|
=== 解釈可能であれば、左辺・右辺にその値を設定する。 |
38 |
|
|
== 1個以上の[[空白]]を読み飛ばすことができれば: |
39 |
|
|
=== 次の[[字句]]を先程同様に解釈を試みる。 |
40 |
|
|
==== 解釈可能であれば、下辺にその値を設定する。 |
41 |
|
|
=== 零個以上の[[空白]]を読み飛ばす。1個以上の[[空白]]を読み飛ばした場合: |
42 |
|
|
==== 次の[[字句]]を先程同様に解釈を試みる。 |
43 |
|
|
===== 解釈可能であれば、 |
44 |
|
|
====== 左辺にその値を設定する。 |
45 |
|
|
====== 零個以上の[[空白]]を読み飛ばす。 |
46 |
|
|
===== 解釈可能でなければ、 |
47 |
|
|
====== 次の[[字句]]が [CODE(CSS)[[[)]]]] なら |
48 |
|
|
([CODE(CSS)[\)]] でもおk)、最後の段階へ。 |
49 |
|
|
====== そうでなければ、[[宣言]]全体を[[無視]]し、終わり。 |
50 |
|
|
= [CODE(CSS)[[[)]]]] ([CODE(CSS)[\)]] でもk) がなければ、 |
51 |
|
|
[[宣言]]全体を[[無視]]し、終わり。 |
52 |
|
|
= 零個以上の[[空白]]を読み飛ばす。[[特性値]]の末尾でなければ、 |
53 |
|
|
[[宣言]]全体を[[無視]]する。終わり。 |
54 |
|
|
|
55 |
|
|
([[名無しさん]]) |
56 |
|
|
|
57 |
|
|
[4] |
58 |
|
|
[[WinIE 6]] [[構文解析]]: |
59 |
|
|
= 零文字以上の[[空白]]を読み飛ばす。 |
60 |
|
|
= 次の[[字句]]が [CODE(CSS)@en[[[IDENT]]]] [CODE(CSS)@en[[[rect]]]] |
61 |
|
|
でなければ、[[宣言]]全体を[[無視]]し、終わり。 |
62 |
|
|
== 他の[[特性]]同様、[[大文字]]や[[escape]]や[[注釈]]を途中で使えます。 |
63 |
|
|
= 零個以上の[[空白]]を読み飛ばす。 |
64 |
|
|
= 次の[[字句]]が [CODE(CSS)[(]] でなければ、[[宣言]]全体を[[無視]]し、 |
65 |
|
|
終わり。 |
66 |
|
|
== 例によって [CODE(CSS)[(]] は [CODE(CSS)[\(]] でもおk。 |
67 |
|
|
== 前後に[[注釈]]があってもおk。 |
68 |
|
|
= 零個以上の[[空白]]を読み飛ばす。 |
69 |
|
|
= 次の[[字句]]を [CODE(CSS)@en[<[[length]]>]]、 |
70 |
|
|
[CODE(CSS)@en[<[[percentage]]>]]、または |
71 |
|
|
[CODE(CSS)@en['[[auto]]']] として解釈を試みる。 |
72 |
|
|
== 例によって、 [[CSS 2.1]] の定義ではなく、 [[WinIE]] |
73 |
|
|
の解釈による。 |
74 |
|
|
== [[奇癖モード]]や [CODE(CSS)[[[0]]] の場合には]] |
75 |
|
|
[CODE(CSS)@en[<[[number]]>]] の単位は [CODE(CSS)[[[px]]]] |
76 |
|
|
であったかのように扱われる。 |
77 |
|
|
== 解釈可能であれば、4辺にその値を設定する。 |
78 |
|
|
== 解釈可能でなければ、[[宣言]]全体を[[無視]]し、終わり。 |
79 |
|
|
= 1個以上の[[空白]]を読み飛ばすことができれば: |
80 |
|
|
== 次の[[字句]]を先程同様に解釈を試みる。 |
81 |
|
|
=== 解釈可能であれば、左辺・右辺にその値を設定する。 |
82 |
|
|
== 1個以上の[[空白]]を読み飛ばすことができれば: |
83 |
|
|
=== 次の[[字句]]を先程同様に解釈を試みる。 |
84 |
|
|
==== 解釈可能であれば、下辺にその値を設定する。 |
85 |
|
|
=== 零個以上の[[空白]]を読み飛ばす。1個以上の[[空白]]を読み飛ばした場合: |
86 |
|
|
==== 次の[[字句]]を先程同様に解釈を試みる。 |
87 |
|
|
===== 解釈可能であれば、 |
88 |
|
|
====== 左辺にその値を設定する。 |
89 |
|
|
====== 零個以上の[[空白]]を読み飛ばす。 |
90 |
|
|
===== 解釈可能でなければ、 |
91 |
|
|
====== 次の[[字句]]が [CODE(CSS)[[[)]]]] なら |
92 |
|
|
([CODE(CSS)[\)]] でもおk)、最後の段階へ。 |
93 |
|
|
====== そうでなければ、[[宣言]]全体を[[無視]]し、終わり。 |
94 |
|
|
= [CODE(CSS)[[[)]]]] ([CODE(CSS)[\)]] でもk) がなければ、 |
95 |
|
|
[[宣言]]全体を[[無視]]し、終わり。 |
96 |
|
|
= 零個以上の[[空白]]を読み飛ばす。[[特性値]]の末尾でなければ、 |
97 |
|
|
[[宣言]]全体を[[無視]]する。終わり。 |
98 |
|
|
|
99 |
|
|
([[名無しさん]]) |
100 |
|
|
|
101 |
|
|
[5] |
102 |
|
|
テスト用 |
103 |
|
|
<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20clip%3A%20rect(1px%2C%20auto%2C%20-3em%206.77pc)%3B%0D%0A%7D;h=%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20d%20%3D%20getComputedStyle%20(el%2C%20null)%3B%0D%0A%20%20w%20(d.clip)%3B%0D%0A%22%3E%3Ccode%3EgetComputedStyle%3C%2Fcode%3E%3C%2Fbutton%3E%20%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20d%20%3D%20el.currentStyle%3B%0D%0A%20%20w%20(d.clip)%3B%0D%0A%22%3E%3Ccode%3EcurrentStyle%3C%2Fcode%3E%3C%2Fbutton%3E%0D%0A%3Cp%3Exxxxxxxxxxxxxxx;p=n;x=style-element;i=html-div> |
104 |
|
|
([[名無しさん]]) |
105 |
|
|
|
106 |
|
|
[6] |
107 |
|
|
[CODE(CSS)@en[[[rect]]()]] の[[引数]]に [CODE(CSS)@en[[[auto]]]] が指定されたときの[[算出値]]は |
108 |
|
|
[[CSS 2.1]] の文面からは不明瞭です。 |
109 |
|
|
([[名無しさん]]) |
110 |
|
|
|
111 |
|
|
[7] |
112 |
|
|
[CODE(CSS)@en[<[[shape]]>]] の説明には算出の方法が載っていますが、 |
113 |
|
|
幅や高さの[[算出値]]がどうとかいうよくわからない定義になっています。 |
114 |
|
|
[[CSS 2.1]] でいうところの[[特性]]の[[算出値]]は |
115 |
|
|
[CODE(CSS)@en[[[auto]]]] のような計算できない値だったりするので、 |
116 |
|
|
[[使用値]]のつもりで書いているのでしょうか。 |
117 |
|
|
([[名無しさん]]) |
118 |
|
|
|
119 |
|
|
[8] |
120 |
|
|
[[Firefox]] 2 [[構文解析]]: |
121 |
|
|
- [[CSS 2.1]] 通り |
122 |
|
|
- [CODE(CSS)@en[[[-moz-initial]]]] が使える |
123 |
|
|
- [[引数]]の区切りには零個以上の[[空白]]、 |
124 |
|
|
高々1個の [CODE(CSS)@en[[[,]]]]、 |
125 |
|
|
零個以上の[[空白]]の列が使える |
126 |
|
|
|
127 |
|
|
([[名無しさん]]) |
128 |
|
|
|
129 |
|
|
[9] |
130 |
|
|
[[Opera]] 9 [[構文解析]]: |
131 |
|
|
>>8 と同じ ([CODE(CSS)@en[[[-moz-initial]]]] 以外) |
132 |
|
|
([[名無しさん]]) |
133 |
|
|
|
134 |
|
|
[10] |
135 |
|
|
[[WinIE 6]] [[直列化]]: |
136 |
|
|
他の[[特性]]と同じ感じで。 |
137 |
|
|
[[引数]]の[[区切り]]は1 [CODE(charname)@en[[[SPACE]]]]。 |
138 |
|
|
([[名無しさん]]) |
139 |
|
|
|
140 |
|
|
[11] |
141 |
|
|
[[Firefox]] 2 [[直列化]]: 他の[[特性]]と同じ感じで。 |
142 |
|
|
[CODE(CSS)@en[[[auto]]]] は |
143 |
|
|
[CODE(CSS)@en[[[rect]]([[auto]], [[auto]], [[auto]], [[auto]])]] |
144 |
|
|
に。 |
145 |
|
|
([[名無しさん]]) |
146 |
|
|
|
147 |
|
|
[12] |
148 |
|
|
[[Opera]] 9 [[直列化]]: 他の[[特性]]と同じ感じで。 |
149 |
|
|
([[名無しさん]]) |
150 |
|
|
|
151 |
|
|
[13] |
152 |
|
|
[[Opera]] 9 [[直列化]]: 他の[[特性]]と同じ感じで。 |
153 |
|
|
([[名無しさん]]) |
154 |
|
|
|
155 |
|
|
[14] |
156 |
|
|
[[Opera]] 9 [[直列化]]: 他の[[特性]]と同じ感じで。 |
157 |
|
|
([[名無しさん]]) |
158 |
|
|
|
159 |
|
|
[15] |
160 |
|
|
[[WinIE 6]] [CODE(DOMa)@en[[[currentStyle]]]]: |
161 |
|
|
[CODE(DOMa)@en[[[clip]]]] は存在しない。 |
162 |
|
|
([[名無しさん]]) |
163 |
|
|
|
164 |
|
|
[16] |
165 |
|
|
[[Firefox]] 2 [CODE(DOMm)@en[[[getCurrentStyle]]]]: |
166 |
|
|
元々 [CODE(CSS)@en[[[auto]]]] や |
167 |
|
|
[CODE(CSS)@en[[[rect]]([[auto]], [[auto]], [[auto]], [[auto]])]] |
168 |
|
|
だったものは [CODE(CSS)@en[[[auto]]]] に。 |
169 |
|
|
[CODE(CSS)@en[[[rect]]()]] の[[引数]]は、それぞれの[[算出値]] |
170 |
|
|
([CODE(CSS)@en[[[px]]]]) に |
171 |
|
|
(ここでの [CODE(CSS)@en[[[auto]]]] の[[算出値]]は |
172 |
|
|
[CODE(CSS)@en[[[auto]]]] のまま)。 |
173 |
|
|
|
174 |
|
|
([[名無しさん]]) |
175 |
|
|
|
176 |
|
|
|
177 |
|
|
[17] |
178 |
|
|
[[Opera]] 9 [CODE(DOMm)@en[[[getComputedStyle]]]]、
|
179 |
|
|
[CODE(DOMa)@en[[[currentStyle]]]]:
|
180 |
|
|
[CODE(CSS)@en[[[auto]]]] は
|
181 |
|
|
[CODE(CSS)@en[[[rect]]([[auto]], [[auto]], [[auto]], [[auto]])]]
|
182 |
|
|
と見なした上で、それぞれの[[引数]]について
|
183 |
|
|
- [CODE(DOMm)@en[[[getComputedStyle]]]] では[[算出値]]
|
184 |
|
|
([CODE(CSS)@en[[[px]]]])、
|
185 |
|
|
[CODE(DOMa)@en[[[currentStyle]]]] では[[指定値]]
|
186 |
|
|
- ただし、 [CODE(CSS)@en[[[auto]]]] の場合は
|
187 |
|
|
[CODE(DOMm)@en[[[getComputedStyle]]]] では
|
188 |
|
|
[CODE(CSS)@en[0[[px]]]]、
|
189 |
|
|
[CODE(DOMa)@en[[[currentStyle]]]] では
|
190 |
|
|
[CODE(CSS)[[[0]]]]。
|
191 |
|
|
|
192 |
|
|
|
193 |
|
|
|
194 |
|
|
([[名無しさん]]) |
195 |
|
|
|