-
Notifications
You must be signed in to change notification settings - Fork 4
/
773.txt
149 lines (111 loc) · 7.92 KB
/
773.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
* [CODE(CSS)@en[<length>]] (CSS)
- [1] <length> = [[<number>]] 単位 / "0"
- [2] [[WinIE]] では [[HTML]] の [[width]] 属性などでも単位つきの長さが使えます。
- [3] [CODE(HTML)[12px]] みたいに。例えば <http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/galleryimg.asp> に例があります。
- [4] ''まだフォントサイズ固定ですか?'' <http://www.dieen.net/internet/not_pt.html>
- [5] ''長さ(length)の単位 - Web標準普及プロジェクト'' <http://www.mozilla.gr.jp/standards/webtips0027.html>
- [6] ''CSSによるLength値は必ず単位が必要です - Web標準普及プロジェクト'' <http://www.mozilla.gr.jp/standards/webtips0005.html>
- [7] この [[SuikaWiki]] 内で [[HTML]] の属性値説明で便宜上 [CODE[<length>]] としている場合は、 CSS の [CODE(CSS)[<length>]] に加えて [[<percentage>]] (単位 [CODE(CSS)[%]] の値) が使えることもあります。詳しくは属性の説明を参照。
** 相対量単位
,[[em]] ,M 幅 (全角1文字) ,"[CSS], [4052]"
,[[en]] ,N 幅 (半角1文字) ,[4052]
,[[ex]] ,x 高さ (≒ N幅) ,[CSS]
,[[px]] ,[[画素]]単位 ,"[CSS], [4052]"
,[[字]] ,漢字1文字幅 ,[4052]
,[[行]] ,行幅及び行間 ,[4052]
,[[行幅]] ,行幅 ,[4052]
** 絶対量単位
,[[barleycorn]] ,(2pi)
,[[in]] ,吋 ,[CSS]
,[[cm]] ,糎 ,"[CSS], [4052]"
,[[m]] ,米
,[[mm]] ,粍 ,"[CSS], [4052]"
,[[pc]] ,パイカ ,[CSS]
,[[pi]] ,(1/6吋)
,[[jpt]] ,ポイント (日本) ,[4052]
,[[pt]] ,ポイント (DTP) ,"[CSS], [4052]"
,[[q]] ,級 ,[4052]
** 算出
*** SVG
- [4072] [[指定値]]が[[利用者単位]]または[[画素]]単位または[[相対単位]]で表されている場合 → [[算出値]]は[[指定値]]です。
- [4073] [[指定値]]が [CODE(CSS)@en[[[em]]]], [CODE(CSS)@en[[[ex]]]]], [CODE(CSS)[[[%]]]] で表されている場合 → [[算出値]]はその[[相対]]のもととなる値の[[単位]]に直したものです。
- [4074] [[相対単位]]の[[相対]]のもととなる値が [[SVG]] の[[単位]]でない場合 ([[CSS]] の[[単位]]や[[利用者単位]]である場合) (例えば[[現在]]の [[viewport]] や[[オブジェクト]]の[[束縛箱]]に対する割合とか) → [[算出値]]は[[利用者単位]]で表したものです。
;; [4071] [CITE[Styling – SVG 1.1 (Second Edition)]] ([TIME[2011-08-10 12:35:27 +09:00]] 版) <http://www.w3.org/TR/2011/REC-SVG11-20110816/styling.html#Inheritance>
* [CODE[length]] (MathML)
[4054] [[MathML]] における [DFN[[CODE[[[length]]]]]] は、[RUBYB[[[サイズ]]]@en[size]]、
[RUBYB[[[間隔取り]]]@en[spacing]]等々に用いる[RUBYB[[[長さ]]]@en[length]]を表すものです
[SRC[>>4053]]。
** 仕様書
- [4053] [CITE[MathML Fundamentals]] ([TIME[2010-10-21 05:51:46 +09:00]] 版) <http://www.w3.org/TR/2010/REC-MathML3-20101021/chapter2.html#fund.units>
** 構文
[4055] [CODE@en[[[length]]]] は、次の3種類のいずれかです [SRC[>>4053]]。
- [4057] [CODE[[[number]]]] の後に [CODE[[[unit]]]]
- [4058] [CODE[[[namedspace]]]]
- [4056] [CODE[[[number]]]]
[4069] 明記はされていませんが、明記されていないということは[[大文字・小文字を区別する]]ようです。
** [CODE[number]] の後に [CODE[unit]]
[4059] [CODE@en[[[number]]]] の後に [CODE[[[unit]]]] を指定すると、その[[単位]]での長さを表します。
両者の間に[RUBYB[[[間隔]]]@en[space]]を挟む[RUBYB[べきではありません]@en[should not]] [SRC[>>4053]]。
[4060] [DFN[[CODE[[[unit]]]]]] として使用できるものは次の[[単位]]です。これらは [[CSS]]
に由来しています。 [SRC[>>4053]]
,[CODE(CSS)@en[[[em]]]],[[em]]
,[CODE(CSS)@en[[[ex]]]],[[ex]]
,[CODE(CSS)@en[[[px]]]],[[現在ディスプレイ]]における[[画素]]数
,[CODE(CSS)@en[[[in]]]],[[インチ]] (1in = 2.54cm)
,[CODE(CSS)@en[[[cm]]]],[[センチメートル]]
,[CODE(CSS)@en[[[mm]]]],[[ミリメートル]]
,[CODE(CSS)@en[[[pt]]]],[[ポイント]] (72pt = 1in)
,[CODE(CSS)@en[[[pc]]]],[[パイカ]] (1pc = 12pt)
,[CODE(CSS)@en[[[%]]]],[[既定値]]の[[百分率]]
[4067] [CODE(CSS)@en[[[px]]]] や [CODE(CSS)@en[[[cm]]]] のような[[絶対単位]]よりも
[CODE(CSS)@en[[[em]]]] や [CODE(CSS)@en[[[ex]]]] のような[[相対単位]]の方が[RUBYB[一般的には好ましい]@en[generally to be preferred]]とされています。
[SRC[>>4053]]
[4061] 更に、[[要素]]によっては[DFN[[RUBYB[擬似単位]@en[pseudo-unit]]]]が使用できることがあります。
** [CODE@en[namedspace]]
[4064] [DFN[[CODE@en[[[namedspace]]]]]] を使うと[[間隔]]の名前によって長さを指定することができます。
[4065] 認められている値と、その表す既定値として[RUBYB[推奨]@en[recommended]]されている値は次の通りです。
ただし実際の値は[[実装規定]]とされています。 [SRC[>>4053]]
,[CODE@en[[[veryverythinmathspace]]]],1/18em
,[CODE@en[[[verythinmathspace]]]],2/18em
,[CODE@en[[[thinmathspace]]]],3/18em
,[CODE@en[[[mediummathspace]]]],4/18em
,[CODE@en[[[thickmathspace]]]],5/18em
,[CODE@en[[[verythickmathspace]]]],6/18em
,[CODE@en[[[veryverythickmathspace]]]],7/18em
,[CODE@en[[[negativeveryverythinmathspace]]]],-1/18em
,[CODE@en[[[negativeverythinmathspace]]]],-2/18em
,[CODE@en[[[negativethinmathspace]]]],-3/18em
,[CODE@en[[[negativemediummathspace]]]],-4/18em
,[CODE@en[[[negativethickmathspace]]]],-5/18em
,[CODE@en[[[negativeverythickmathspace]]]],-6/18em
,[CODE@en[[[negativeveryverythickmathspace]]]],-7/18em
** [CODE@en[number]]
[4062] [[単位]]なしで [CODE[[[number]]]] だけを指定すると、[[既定値]]に対する[[倍数]]を表します。
この形式は[[後方互換性]]のためのものであり、避ける[RUBYB[べきです]@en[should]]。
[SRC[>>4053]]
** 処理モデル
[4063] 場合によっては[[属性値]]の認められる範囲が制限されていることがあり、
[[実装]]は最も近い認められる値に[[切上げ]]、[[切捨て]]して[RUBYB[構いません]@en[free]]。
[SRC[>>4053]]
[4066] [RUBYB[[[視覚媒体]]]@en[visual media]]においては、
[RUBYB[[[表示文脈]]]@en[display context]]が表示上の[[特性]]情報を保有しており、
これを[[レンダリング・エージェント]]に提供します。 [CODE@en[[[length]]]] の解釈はそれによって定まります。
具体的には、
- [CODE(CSS)@en[[[px]]]] は[[ディスプレイ]]の[[画素]]と一定の対応関係を持っています。
- [CODE(CSS)@en[[[cm]]]] 等は[[ディスプレイ]]の[[解像度]]によって [CODE(CSS)@en[[[px]]]]
との関係が決まります。
- [CODE(CSS)@en[[[em]]]] や [CODE(CSS)@en[[[ex]]]]、ひいては [CODE[[[namedspace]]]]
は[[現在フォント・サイズ]]によって決まります。 [SRC[>>4053]]
[4068] [RUBYB[[[非視覚媒体]]]@en[non-visual media]]で[[長さ]]が[[レンダリング]]に反映されるか、
されるとしたらどう反映されるのかは[[実装規定]]です。 [SRC[>>4053]]
[4070] [CITE[Basic Data Types and Interfaces – SVG 1.1 (Second Edition)]]
( ([TIME[2011-08-10 12:35:27 +09:00]] 版))
<http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#DataTypeLength>
[4075] [CITE[IRC logs: freenode / #whatwg / 20121017]]
( ([TIME[2012-11-15 01:18:24 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20121017>
[4076] [[Chrome]] では[[媒体機能]]の [CODE(CSS)@en['[[width]]']] などで [CODE(CSS)@en[[[<length>]]]]
が求められているところ、単位なしの数値を指定できるようです。 [[Firefox]] では構文エラーになります。 [TIME[2013-08-04T08:08:20.100Z]]
[4077] [CITE@en[Fix <https://www.w3.org/Bugs/Public/show_bug.cgi?id=27170>. Define a "n... · cdfbd7f · heycam/webidl]]
( ([TIME[2014-10-26 05:04:28 +09:00]] 版))
<https://github.com/heycam/webidl/commit/cdfbd7f915d377f7c818c4f3e3fbb8be0a92ac37>