Moral Hazard!!

ドラマーが音楽やホームページやガラクタを作るよ。

docomo用サイトでcssを使う場合(php)

No Comment html,css,php

FOMAで中途半端に対応している"i-css"
携帯サイトをdocomoに対応させるには、以下が大前提。

■cssをbody内に書かないといけない(外部css非対応)

<h1 style="color:#808080">SITE TITLE</h1>

こんな感じで一個一個書く。めんどくさい。

■cssをヘッダに書かない(a要素だけは例外に対応している)

<style type="text/css">
<![CDATA[
a:link{color:色コード;}
a:visited{color:色コード;}
a:focus{color:色コード;
}
]]>
</style>

上記をヘッダに入れるとリンク時の色を変えられる。(CDATAにしないと、携帯では文字として出力されてしまうっぽい。xhtmlの場合、通常のhtmlコメントでは内部が完全に無視されるのでNG)

■拡張子がxhtmlでないといけない。(htmlではダメ)

htmlの場合は、.htaccessに

AddType application/xhtml+xml .html

を入れると対応する。
拡張子がphpの場合は、該当ファイルのド頭に

header("Content-type: application/xhtml+xml");

を挿入。
一応参考までに今作ってる携帯サイトのヘッダを記載。(間違ってたら申し訳ない)

<?php header("Content-type: application/xhtml+xml"); ?>
<?php echo '<?xml version="1.0" encoding="Shift_JIS"?>'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<title>Studio Cooper</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="content-Style-Type" content="text/css" />
<meta name="keywords" content="キーワードを挿入" />
<meta name="description" content="説明を挿入" />
<link rel="index" title="サイトタイトルを挿入" href="http://<?= $_SERVER["SERVER_NAME"]; ?>" />
<link rel="canonical" href="http://<?= $_SERVER["SERVER_NAME"]; ?>" />
</head>