電子書籍の厳選無料作品が豊富!

スタイルシートでブラウザを判別して
それにみあった表示を行うようにしたいと思っています。


header('content-type:text/css');

img{border:none;}#共通
p{color:#000000;}#共通

<?php
$Agent = getenv( "HTTP_USER_AGENT" );
if( ereg( "Firefox", $Agent ) ){
print <<<END

body{background-color:#FFFFFF;}

#wrapper{
margin:0 auto;
padding:0;
}

END;
} elseif( ereg( "MSIE", $Agent ) ) {
print <<<END

body{background-color:#000000;}

#wrapper{
margin:0 auto;
padding:0;
}

END;
} else {
print <<<END

body{background-color:#666666;}

#wrapper{
margin:0 auto;
padding:0;
}

END;
}
?>



スタイルシート側の記述を上記のようにしております。
ですが、どうしてもエラーが
でてしまいます。
どこがおかしいかわからず困っております。
どうかお教えください。

A 回答 (1件)

<?php



/*
CSSのコメントは#ではない。
書いてしまうと,文法違反ということでその行まるごと無視
→結果として宣言ブロックごと無視される

headerはphpの関数なんだから,
外側に書いたって無駄。

ところで,通常文字の色は黒なので
背景黒にしているIEでは溶け込んで見えないから注意。

思うんだが,#wrapperに適用される内容は同じなんだから
わざわざ分ける必要ないんじゃね?

CSSだから特に影響でないかもしれないけれど,
Geckoベースの「Camino」「Seamonkey」「IceWeasel」「Mozilla」「Netscape」や
俺が使っている「Minefield」は
含まれない。

*/

header('content-type:text/css');
print <<<END
img {border:none;} /* 共通 */
p {color:#000000;} /* 共通 */
END;
$Agent = getenv( "HTTP_USER_AGENT" );

if( ereg( "Firefox", $Agent ) ){
print <<<END

body{background-color:#FFFFFF;}

#wrapper{
margin:0 auto;
padding:0;
}
END;
} elseif( ereg( "MSIE", $Agent ) ) {
print <<<END

body{background-color:#000000;}

#wrapper{
margin:0 auto;
padding:0;
}

END;
} else {
print <<<END

body{background-color:#666666;}

#wrapper{
margin:0 auto;
padding:0;
}

END;
}
?>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!