ch

char 属性 (HTML)

[8] HTML の要素型 tbody, thead, tfoot, colgroup, col, tr, th, td で定義されている char 属性は、 こま内での文字揃えの軸となる文字を指定します。

仕様書: HTML 4 <IW:HTML4:"struct/tables.html#adef-char">

スタイル・シート代替

[9] この属性は HTML 4 では非推奨とされてはいませんが、 スタイル・シートを使って指定するべきでしょう。

[10] CSS では text-align 特性が使えます。

属性値

[5] この属性は %Character 型、すなわち何か1文字です。 SGML 的には CDATA です。

[13] HTML 4 仕様書には CN (大文字・小文字中立) と書いてありますが、大文字も小文字も指定できるのに中立もへったくれもないでしょう。 区別されるのか、されないのか、はっきりしていただきたい。

[6] HTML 4 DTD 的には既定値はありません。 HTML 4 仕様書によれば既定値は lang 依存の小数点記号 (例えば英語では ., 仏蘭西語では ,) です。

それとは別に継承規則があります。 (おそらく継承しても得られないときの既定値が小数点なのでしょう。) 継承規則については %cellhalign の説明をみてください。

他との関係

[4] この属性は HTML 4 DTD では属性集合 %cellhalign に属しています。

[11] HTML 4 仕様書には明記されていませんが、この属性は align 属性が char のときのみ有効なはずです。

[12] 揃え文字のこま中の位置を指定する charoff 属性があります。

文字揃え効果

[15] こま内の文字データは、 char によって揃えられることになります。

HTML 4 仕様書によれば、複数個 char の文字を含むときやこま内で折返しがある時の結果は未定義です。 ですから著者は注意するべきだとされています。

1つも char を含まないときについては charoff に規定があって、 揃え位置にお尻を合わせることになっています。

[16] >>15 HTML 4 の仕様書は1つも charを含まないときが charoff の規定の中に入っていてわかりにくいです。 charoff が省略されていたら1つもないときの挙動が未定義みたいに読めてしまう (けどそんなんじゃ困る)。

実装

[12] HTML 4 はこの属性は実装しなくても良いとしています。

実際ほとんどの WWWブラウザ属性名の省略に対応していません。 対応している UA があったら教えてください。

[14]

<TABLE border="1">
<COLGROUP>
<COL><COL align="char" char=".">
<THEAD>
<TR><TH>Vegetable <TH>Cost per kilo
<TBODY>
<TR><TD>Lettuce        <TD>$1
<TR><TD>Silver carrots <TD>$10.50
<TR><TD>Golden turnips <TD>$100.30
</TABLE>

(HTML 4 仕様書より)

レンダリング例:

------------------------------
|   Vegetable  |Cost per kilo|
|--------------|-------------|
|Lettuce       |        $1   |
|--------------|-------------|
|Silver carrots|       $10.50|
|--------------|-------------|
|Golden turnips|      $100.30|
------------------------------

メモ

[18] ch 内容属性に対応することになっていますが、少なくても IE10 では char 内容属性に対応しているみたいです。