携帯XHTMLキャリア間の改行の認識

原則的に、主要3キャリアのHTML規格は異なる。これに開発者は悩むのだが・・・その内のTipsをメモ

改行とdiv

なんと、改行(br)の認識までもが異なる。特に、divやformの後にbrをおいた場合に改行になるか、ならないかに差異がある。そういう場合はdivを使うとうまく行く。


例えば、divを使わない場合。

<%= separator %><br />
[0]今日のできごと

というようなコードがあったとすると、(このコードはRailsのビューテンプレートのコードであり、separatorは、線のイメージだとする)キャリアによっては出力が以下のようになる。

------------------------[0
]今日のできごと

しかし、対策としてbrを2回使うと、キャリアによっては1行開いてしまう。

------------------------

[0]今日のできごと

これは以下のようにすると解決する。

<div><%= separator_for_user_kind(@user) %></div>

しかし、この場合、問題が生じることがある。例えば、次のようなコードがあるとする。

<div style="font-size:small;">
<div style="text-align:center;">
  <font size="1">ありません</font>
</div>
</div>

この時、auだと、「ありません」のフォントがスモールにならない。divで囲まれるとそうなってしまうようだ。
対策は、次のようにする。

<div style="text-align:center;">
  <font size="1">ありません</font>
</div>

うーん。これなら、全体をfont-sizeとfontで囲えばいい気もするが、今度試してみるか。