2009年9月20日日曜日

HTMLのtableでセル幅を指定しても効かない?

HTMLのtableタグで、セル幅を指定しても正常に動作しない現象が発生します。
これは、セル幅の動作が不正であるのではなく、セル幅近辺で表示されている文字の種類によって、セル内での文字列の自動改行がされないため、セル幅を変わってしまうのが原因です。

このような場合、どんな文字の種類でも、セル幅に達した時などの条件で、自動的に改行して良いとするようにするタグや特殊文字を入れると解決できます。

IEであれば、<wbr>タグを各文字の間に入れれば、自動的に改行することができます。
例えば a<wbr>b<wbr>c<wbr>1<wbr>2<wbr>3<wbr><wbr><wbr>
などとします。

上記以外のブラウザの場合には、セル幅に達した時などの条件で、自動的に改行して、改行位置にハイフン(-)を表示しするための特殊文字(&shy;)を指定します。
例えば a&shy;b&shy;c&shy;1&shy;2&shy;3&shy;&shy;&shy;
などとします。
全世界的なHTMLの標準規格では&shy;特殊文字が採用されており、<wbr>タグは少数派のようです。

そのほかの方法としてCSSを使っても対応可能なようです。確認できたら、紹介します

0 件のコメント:

コメントを投稿