/[pub]/suikawiki/sw4data/ids/2/823.txt
Suika

Contents of /suikawiki/sw4data/ids/2/823.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (hide annotations) (download)
Wed Sep 11 14:31:08 2013 UTC (11 years, 2 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +4 -1 lines
File MIME type: text/plain
updated by (anon)

1 wakaba 1.2 * 仕様書
2    
3     [REFS[
4     - [18] '''[CITE@en[CSS Positioned Layout Module Level 3]] ([TIME[2013-09-10 13:12:54 +09:00]] 版) <http://dev.w3.org/csswg/css-position/#clip-property>'''
5     - [19] [CITE@en-US[Quirks Mode Standard]] ([TIME[2013-06-27 10:39:37 +09:00]] 版) <http://quirks.spec.whatwg.org/#the-unitless-length-quirk>
6     ]REFS]
7    
8     * 実装
9    
10     [1]
11     [SAMP(CSS)[clip:rect(0%, 101%, 101%, 0%);]] [PP10]
12    
13     [2] [CODE(DOMi)@en[Layer]].[CODE(DOMa)@en[[[clip]]]]
14     ,[CODE(DOMa)@en[[[bottom]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]])
15     ,[CODE(DOMa)@en[[[height]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]])
16     ,[CODE(DOMa)@en[[[left]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]])
17     ,[CODE(DOMa)@en[[[right]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]])
18     ,[CODE(DOMa)@en[[[top]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]])
19     ,[CODE(DOMa)@en[[[width]]]] ,[CODE(DOMi)@en[[[Layer]]]] ([[JavaScript 1.2]])
20    
21     [3]
22     [[WinIE 6]] [[構文解析]]:
23     = 零文字以上の[[空白]]を読み飛ばす。
24     = 次の[[字句]]が [CODE(CSS)@en[[[IDENT]]]] [CODE(CSS)@en[[[rect]]]]
25     でなければ、[[宣言]]全体を[[無視]]し、終わり。
26     == 他の[[特性]]同様、[[大文字]]や[[escape]]や[[注釈]]を途中で使えます。
27     = 零個以上の[[空白]]を読み飛ばす。
28     = 次の[[字句]]が [CODE(CSS)[(]] でなければ、[[宣言]]全体を[[無視]]し、
29     終わり。
30     == 例によって [CODE(CSS)[(]] は [CODE(CSS)[\(]] でもおk。
31     == 前後に[[注釈]]があってもおk。
32     = 零個以上の[[空白]]を読み飛ばす。
33     = 次の[[字句]]を [CODE(CSS)@en[<[[length]]>]]、
34     [CODE(CSS)@en[<[[percentage]]>]]、または
35     [CODE(CSS)@en['[[auto]]']] として解釈を試みる。
36     == 例によって、 [[CSS 2.1]] の定義ではなく、 [[WinIE]]
37     の解釈による。
38     == [[奇癖モード]]や [CODE(CSS)[[[0]]] の場合には]]
39     [CODE(CSS)@en[<[[number]]>]] の単位は [CODE(CSS)[[[px]]]]
40     であったかのように扱われる。
41     == 解釈可能であれば、4辺にその値を設定する。
42     == 解釈可能でなければ、[[宣言]]全体を[[無視]]し、終わり。
43     = 1個以上の[[空白]]を読み飛ばすことができれば:
44     == 次の[[字句]]を先程同様に解釈を試みる。
45     === 解釈可能であれば、左辺・右辺にその値を設定する。
46     == 1個以上の[[空白]]を読み飛ばすことができれば:
47     === 次の[[字句]]を先程同様に解釈を試みる。
48     ==== 解釈可能であれば、下辺にその値を設定する。
49     === 零個以上の[[空白]]を読み飛ばす。1個以上の[[空白]]を読み飛ばした場合:
50     ==== 次の[[字句]]を先程同様に解釈を試みる。
51     ===== 解釈可能であれば、
52     ====== 左辺にその値を設定する。
53     ====== 零個以上の[[空白]]を読み飛ばす。
54     ===== 解釈可能でなければ、
55     ====== 次の[[字句]]が [CODE(CSS)[[[)]]]] なら
56     ([CODE(CSS)[\)]] でもおk)、最後の段階へ。
57     ====== そうでなければ、[[宣言]]全体を[[無視]]し、終わり。
58     = [CODE(CSS)[[[)]]]] ([CODE(CSS)[\)]] でもk) がなければ、
59     [[宣言]]全体を[[無視]]し、終わり。
60     = 零個以上の[[空白]]を読み飛ばす。[[特性値]]の末尾でなければ、
61     [[宣言]]全体を[[無視]]する。終わり。
62    
63     ([[名無しさん]])
64    
65     [4]
66     [[WinIE 6]] [[構文解析]]:
67     = 零文字以上の[[空白]]を読み飛ばす。
68     = 次の[[字句]]が [CODE(CSS)@en[[[IDENT]]]] [CODE(CSS)@en[[[rect]]]]
69     でなければ、[[宣言]]全体を[[無視]]し、終わり。
70     == 他の[[特性]]同様、[[大文字]]や[[escape]]や[[注釈]]を途中で使えます。
71     = 零個以上の[[空白]]を読み飛ばす。
72     = 次の[[字句]]が [CODE(CSS)[(]] でなければ、[[宣言]]全体を[[無視]]し、
73     終わり。
74     == 例によって [CODE(CSS)[(]] は [CODE(CSS)[\(]] でもおk。
75     == 前後に[[注釈]]があってもおk。
76     = 零個以上の[[空白]]を読み飛ばす。
77     = 次の[[字句]]を [CODE(CSS)@en[<[[length]]>]]、
78     [CODE(CSS)@en[<[[percentage]]>]]、または
79     [CODE(CSS)@en['[[auto]]']] として解釈を試みる。
80     == 例によって、 [[CSS 2.1]] の定義ではなく、 [[WinIE]]
81     の解釈による。
82     == [[奇癖モード]]や [CODE(CSS)[[[0]]] の場合には]]
83     [CODE(CSS)@en[<[[number]]>]] の単位は [CODE(CSS)[[[px]]]]
84     であったかのように扱われる。
85     == 解釈可能であれば、4辺にその値を設定する。
86     == 解釈可能でなければ、[[宣言]]全体を[[無視]]し、終わり。
87     = 1個以上の[[空白]]を読み飛ばすことができれば:
88     == 次の[[字句]]を先程同様に解釈を試みる。
89     === 解釈可能であれば、左辺・右辺にその値を設定する。
90     == 1個以上の[[空白]]を読み飛ばすことができれば:
91     === 次の[[字句]]を先程同様に解釈を試みる。
92     ==== 解釈可能であれば、下辺にその値を設定する。
93     === 零個以上の[[空白]]を読み飛ばす。1個以上の[[空白]]を読み飛ばした場合:
94     ==== 次の[[字句]]を先程同様に解釈を試みる。
95     ===== 解釈可能であれば、
96     ====== 左辺にその値を設定する。
97     ====== 零個以上の[[空白]]を読み飛ばす。
98     ===== 解釈可能でなければ、
99     ====== 次の[[字句]]が [CODE(CSS)[[[)]]]] なら
100     ([CODE(CSS)[\)]] でもおk)、最後の段階へ。
101     ====== そうでなければ、[[宣言]]全体を[[無視]]し、終わり。
102     = [CODE(CSS)[[[)]]]] ([CODE(CSS)[\)]] でもk) がなければ、
103     [[宣言]]全体を[[無視]]し、終わり。
104     = 零個以上の[[空白]]を読み飛ばす。[[特性値]]の末尾でなければ、
105     [[宣言]]全体を[[無視]]する。終わり。
106    
107     ([[名無しさん]])
108    
109     [5]
110     テスト用
111     <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>
112     ([[名無しさん]])
113    
114     [6]
115     [CODE(CSS)@en[[[rect]]()]] の[[引数]]に [CODE(CSS)@en[[[auto]]]] が指定されたときの[[算出値]]は
116     [[CSS 2.1]] の文面からは不明瞭です。
117     ([[名無しさん]])
118    
119     [7]
120     [CODE(CSS)@en[<[[shape]]>]] の説明には算出の方法が載っていますが、
121     幅や高さの[[算出値]]がどうとかいうよくわからない定義になっています。
122     [[CSS 2.1]] でいうところの[[特性]]の[[算出値]]は
123     [CODE(CSS)@en[[[auto]]]] のような計算できない値だったりするので、
124     [[使用値]]のつもりで書いているのでしょうか。
125     ([[名無しさん]])
126    
127     [8]
128     [[Firefox]] 2 [[構文解析]]:
129     - [[CSS 2.1]] 通り
130     - [CODE(CSS)@en[[[-moz-initial]]]] が使える
131     - [[引数]]の区切りには零個以上の[[空白]]、
132     高々1個の [CODE(CSS)@en[[[,]]]]、
133     零個以上の[[空白]]の列が使える
134    
135     ([[名無しさん]])
136    
137     [9]
138     [[Opera]] 9 [[構文解析]]:
139     >>8 と同じ ([CODE(CSS)@en[[[-moz-initial]]]] 以外)
140     ([[名無しさん]])
141    
142     [10]
143     [[WinIE 6]] [[直列化]]:
144     他の[[特性]]と同じ感じで。
145     [[引数]]の[[区切り]]は1 [CODE(charname)@en[[[SPACE]]]]。
146     ([[名無しさん]])
147    
148     [11]
149     [[Firefox]] 2 [[直列化]]: 他の[[特性]]と同じ感じで。
150     [CODE(CSS)@en[[[auto]]]] は
151     [CODE(CSS)@en[[[rect]]([[auto]], [[auto]], [[auto]], [[auto]])]]
152     に。
153     ([[名無しさん]])
154    
155     [12]
156     [[Opera]] 9 [[直列化]]: 他の[[特性]]と同じ感じで。
157     ([[名無しさん]])
158    
159     [13]
160     [[Opera]] 9 [[直列化]]: 他の[[特性]]と同じ感じで。
161     ([[名無しさん]])
162    
163     [14]
164     [[Opera]] 9 [[直列化]]: 他の[[特性]]と同じ感じで。
165     ([[名無しさん]])
166    
167     [15]
168     [[WinIE 6]] [CODE(DOMa)@en[[[currentStyle]]]]:
169     [CODE(DOMa)@en[[[clip]]]] は存在しない。
170     ([[名無しさん]])
171    
172     [16]
173     [[Firefox]] 2 [CODE(DOMm)@en[[[getCurrentStyle]]]]:
174     元々 [CODE(CSS)@en[[[auto]]]] や
175     [CODE(CSS)@en[[[rect]]([[auto]], [[auto]], [[auto]], [[auto]])]]
176     だったものは [CODE(CSS)@en[[[auto]]]] に。
177     [CODE(CSS)@en[[[rect]]()]] の[[引数]]は、それぞれの[[算出値]]
178     ([CODE(CSS)@en[[[px]]]]) に
179     (ここでの [CODE(CSS)@en[[[auto]]]] の[[算出値]]は
180     [CODE(CSS)@en[[[auto]]]] のまま)。
181    
182     ([[名無しさん]])
183    
184    
185     [17]
186 wakaba 1.1 [[Opera]] 9 [CODE(DOMm)@en[[[getComputedStyle]]]]、
187     [CODE(DOMa)@en[[[currentStyle]]]]:
188     [CODE(CSS)@en[[[auto]]]] は
189     [CODE(CSS)@en[[[rect]]([[auto]], [[auto]], [[auto]], [[auto]])]]
190     と見なした上で、それぞれの[[引数]]について
191     - [CODE(DOMm)@en[[[getComputedStyle]]]] では[[算出値]]
192     ([CODE(CSS)@en[[[px]]]])、
193     [CODE(DOMa)@en[[[currentStyle]]]] では[[指定値]]
194     - ただし、 [CODE(CSS)@en[[[auto]]]] の場合は
195     [CODE(DOMm)@en[[[getComputedStyle]]]] では
196     [CODE(CSS)@en[0[[px]]]]、
197     [CODE(DOMa)@en[[[currentStyle]]]] では
198     [CODE(CSS)[[[0]]]]。
199    
200 wakaba 1.3 [20] [CODE(CSS)@en[[[rect()]]]] の中の区切りは [CODE(CSS)[[[,]]]] のほか [[<whitespace>]]
201     でも良いようですが、 [[CSS3]] でも [[Firefox]] でも [[Chrome]] でも混在は認められていません。 [TIME[2013-09-11T14:25:52.100Z]]
202 wakaba 1.1
203 wakaba 1.4 [21] [[Chrome]] でも [[Firefox]] でも、区切りがまったくなしでもいいようです。 [TIME[2013-09-11T14:26:09.000Z]]
204    
205     [22] [[直列化]]のときに [[Firefox]] は [CODE(CSS)@en[[[,]]]] を補いますが [[Chrome]]
206     は元のままです。 [TIME[2013-09-11T14:31:06.0Z]]

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24