* [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]] -[[XHTML 1.0]] -- [CSECTION[A.1.1. XHTML-1.0-Strict]] -- [CSECTION[A.1.2. XHTML-1.0-Transitional]] -- [CSECTION[A.1.3. XHTML-1.0-Frameset]] [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]] * メモ