iモード対応XHTML(NTT DoCoMo)にあるように、(近頃の?)FOMAでは「iモード対応XHTML」というXHTMLを使うことが出来る。CSSも記述できる。だが、かなりくせもん。実用になるかどうかはわからないが、iモード対応XHTMLのサンプル(ただし、MIMEタイプがapplication/xhtml+xmlなので、IE6ではうまくいかないかも)を作ってみた。私のP900iでは表示できることを確認している。
iモード対応XHTMLは、CSSの外部参照に対応していない。よって、link要素で拾ってきたCSSは適用されず、すっぴん(デフォルトスタイル)で表示される。内部参照も、a:link, a:visited, a:focusに限り対応しているとしている。
よって、基本的にはインライン、つまりstyle属性でやることになる。また、HTMLファイルのMIME タイプがtext/htmlだとスタイルは適用されない。application/xhtml+xmlにする必要がある。逆に、application/xhtml+xmlであれば、XHTML 1.0 Transitionalで書かれた文書のスタイルも適用される。サンプルはXHTML 1.0 Transitionalで書いている。
iモード対応HTML-XHTML比較表(NTT DoCoMo)にあるように、iモード対応XHTMLは、iモード対応HTMLでできることをXHTMLっぽく書き換えたらこうなりますよ、というもののように見える。style属性にスタイルを記述する場合は、iモード対応HTML-XHTML比較表を見た上で、どの要素のstyle属性に何が書けるのかを確認する必要がある。
たとえば、p要素にcolorやbackground-colorを指定しても適用されない。この場合は、p要素内のspan要素にcolorやbackground-colorを指定するとうまくいく。
トラックバックURL: http://adp.daa.jp/cgi/mt2/mt-tb.cgi/452
言葉尻ですが
>基本的にはインライン、つまりstyle属性でやることになる。
HTMLやCSSでインラインといった場合、display:inline レベルの要素の意味になってしまい、「CSSをHTMLのcode内にstyle属性で直接埋め込む」と言う意味にはならないのではないでしょうか?
ご指摘ありがとうございます。DoCoMoの説明のところからパクってきたのですが、たしかに変ですね。引用だと明示してから説明を加えるほうがいいですね。
>MIMEタイプがapplication/xhtml+xml・・・ ぐふ。そういうことですかぁ。いますごくわかった風です。FOMA機で試したら上記サンプル問題なく表示されてました。
う~ん。CSSが適用されないですね。例のサンプルページのソースをそのまま貼ってUPしてみても適用されませんでした。サンプルページ自体はちゃんとiモードで表示されたのですが・・・。
サンプルページが表示できて、ソースをそのまま張ったのが適用されないとなると、上記application/xhtml+xmlの話ですかね。ADPでは、(htmlではなく)htmファイルだけapplication/xhtml+xmlになるようにしたはずです。
あぁなるほどぉ。ってことは.htaccessで設定すればよいのですかねぇ。「AddType application/xhtml+xml htm」・・・・かな?なんかドコモも王道外れた感じがしますね。やっぱこれからはauですかね。
RYOさんの書かれたとおり、.htaccessを設定することになります。DoCoMoのXHTMLは、まわりと歩調をあわせていない感じがしますね。application/xhtml+xmlは先走りしすぎですし、一方でstyle属性じゃないと適用できないという仕様も変ですし。自分のところだけで囲い込もうということなのでしょうが、よくない戦略だと思います。
いや、まったく困ったこんです。かつてのPCブラウザ戦争を思い出しますね。同じ過ちを繰り返してるようにしか見えませんよね。