* [CODE(SGML)[%MultiLength;]] 型 (HTML 4)
- [1] [CODE(ABNF)[[DFN[%MultiLength]] := %[[Length]]; / 相対長]]
- [2] [CODE(ABNF)[[DFN[相対長]] := [整数] "*"]]
[[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。
[7] 仕様書:
- [[HTML 4]]
-- [HTML4ML]
--[HTML4COLWIDTH] [CODE(HTMLe)[[[colgroup]]]] 要素
[CODE(HTMLa)[[[width]]]] 属性
-- [[厳密DTD]]
-- [[移行用DTD]]
[3] 複数長型は、[[画素]]単位の長さ
([CODE(SGML)[%[[Pixels]];]]),
百分率指定または相対長により長さを指定できます [SRC[HTML4ML]]。
[8] HTML 4 DTD の注釈 (参考) には
[Q[pixel, percentage, or relative]]
と書かれています。
[4] 相対長で数値部分は「整数」としか書かれていませんが、常識的に考えて正の数でしょう。
幅の割当方法から考えて零も不可と思われます。
[5] [CODE[MultiLength]] 値から実際の長さをどう決定するかは、
まず無単位整数 = 画素単位の指定,
百分率指定に場所を割当て、
残った部分を全体とします。
相対長の指定のものでその残りを分配します。
相対長の数値部分 (既定値 [CODE(HTML)[1]]) が占める割合になります。
たとえば60画素分を全体とし、
[CODE(HTML)[*]] と [CODE(HTML)[2*]] と [CODE(HTML)[3*]] で分配するなら、
それぞれ10画素、20画素、30画素を得ることになります。
[6]
>>2,>>4 [CODE(SGML)[%MultiLength;]] である
[CODE(HTMLe)[[[colgroup]]]] 要素の
[CODE(HTMLa)[[[width]]]] 属性の説明 [SRC[HTML4COLWIDTH]]
には、そこでは特殊形 [CODE(HTML)[0*]]
を認め、必要な最小幅を表すと書かれています。つまり、一般には
[CODE(HTML)[0*]] は認められないということです。
[[#comment]]
* メモ