[携帯]xhtmlのリンク指定方法〜cssとbodyの違い
結論から言ってしまうと、「bodyとcss、どちらで指定しても見え方は一緒」です。
<body link="#5994FF" vlink="#59E2FF">
<style type="text/css">
<![CDATA[
a:link{color:#5994FF;}
a:focus{color:;}
a:visited{color:#59E2FF;}
]]>
</style>
サンプルページ
→サンプルページを見る
bodyに指定してもCSSに指定してもどっちも変わらないなら別にどっちでもーじゃん?
って思うんですが、CSSを使って一工夫するとちょっとだけよくなる!っていうのをご紹介します。
まずは予備知識として
docomoのiモードブラウザ1.0では、CSSを使う場合はインラインに記述する必要があったのですがく(リンクの疑似クラスのみhead内に記述することができます)、iモードブラウザ2.0ではhead内もしくは外部ファイルに書いたCSSも効くようになりました。
※「iモードブラウザ1.0」2008年秋冬モデル以前
※「iモードブラウザ2.0」2009年春夏モデル以降
docomoとソフトバンクのリンク色の仕様として、aタグの内側に文字色の指定をしてもリンクの下線の色はbodyないしcssで指定した色が適用されてしまいます。
classを使ってリンク色を指定することによって、この「リンクの下線の色」もリンク色と同一色にすることができます。
iモードブラウザ1.0の為にaタグの内側にspanタグで文字色指定もしておきます。
<style type="text/css">
<![CDATA[
a:link {color:#FF71BA;}
a:focus {}
a:visited {color:#FF71BA;}
a.orange:link {color:#ff6600;}
a.orange:visited {color:#ff6600;}
a.blue:link {color:#3366FF;}
a.blue:visited {color:#3366FF;}
]]>
</style>
・
・
・
<a href="#">リンクサンプルです</a><br />
<a href="#" class="orange"><span style="color:#ff6600;">リンクサンプルです</span></a><br />
<a href="#" class="blue"><span style="color:#3366FF;">リンクサンプルです</span></a><br />
iモードブラウザ1.0以外の見え方
こうすることによって、iモードブラウザ1.0以外の端末で見たときに、リンクの文字色と下線が異なるといったことが発生しなくなります。ちょっと面倒ですけど。
iモードブラウザ1.0に関しては...恐らく仕様上変更できないと思います。
imode(2.0以上の端末)にてclassを使った方法でリンクの下線の色を指定できないのですが・・・。
サンプルページを実機(N705i)やi-HTMLSimulatorで確認してもリンクの色(a:link {color:#FF71BA;})が反映されてしまいます。
自分で制作したページも駄目でした。
N705iだとiモードブラウザ1.0なので下線の色はclassで制御できないんです。
※2008年冬モデル以前の携帯はiモードブラウザ1.0です。
iモードシュミレーターで確認するときは、シュミレートモードを「8」にしてみていただくと下線の色が変わっているのが確認できるかと思いますー。
説明が足りなくてごめんなさい。
早速のレスありがとうございます。
なるほど。
勉強不足でした・・・。
ありがとうございます。
モバイルサイト作る時にお世話になってます。
チロルさんと同じく、私も自分の携帯での確認ではダメでした~
D905iです。
私の携帯でも下線の色を変更する技ってあるんでしょうか?
D905iもiモードブラウザ1.0なので、下線の制御はできないかと思われます。
裏技的なものがあれば私も知りたいんですが…中々ないようです。