こんばんは。
IE と Firefox の css の解釈の違いに影響されにくくするため、template の
<head> 内に記述する css を、ブラウザごとに切り替えたいと考えています。
例えば、こんな風に。
<link rel="stylesheet" type="text/css" href="ie.css" /> or
<link rel="stylesheet" type="text/css" href="gecko.css" />
ブラウザの判定には以下のスクリプトを使おうと考えています。
-
Browser Detection with PHP
そこで、
(1) あらかじめ ie 用 css (id=63) と firefox 用 css (id=64) を作成、
(2) template code に以下を挿入。
<head>
[!BrowserDetectedCss? &ie=`63` &gecko=`64`!]
<title></title>
</head>
(3) snippet "BrowserDetectedCss" を作成、
require ("assets/templates/browser.php");
$browser = new Browser;
switch (strtolower ($browser->Name)) {
case "firefox":
$css = $gecko;
break;
case "msie":
default:
$css = $ie;
break;
}
return "<link rel='stylesheet' type='text/css' href='[(site_url)][~$css~]' />";
...てな感じで作ってはみましたが、何かもっとスマートな方法はないものでしょ
うか? あらかじめ template 内に css の id を埋め込まなくてもいいように
なったらいいですね。
css hack や javascript を使った css の使い分けは今回使おうとは考えてい
ません。出来る限り、php で完結させたいと考えています。