gecko、opera、msie、webkitなどを独自の追加のスタイルシートにポイントするための現在のベストプラクティスは何ですか?
ブラウザのスニッフィングが出ていますか?私がオンラインで見つけているもののほとんどは、2008年の古い投稿、または正しいか間違っているか、または使用方法などに関する理論的な議論です。
これに使用できるより洗練されたものが必要です。(疑似コード)、「IF moz、@ import url(moz.css)」などのjqueryまたはphp。
ユーザーエージェントからブラウザーを検出し、そのブラウザーに適した CSS を組み込みます。
$browser = get_browser($_SERVER['HTTP_USER_AGENT'], true);
switch ($browser['browser']) {
case "IE": //load ie specific css
break;
case "Firefox":
case "Mozilla": //load gecko specific css
break;
case "Safari": //load safari css
break;
case "Opera": //load opera css
break;
default:
echo '<link href="default.css" rel="stylesheet" type="text/css" />';
}
get_browser() 関数の詳しい記事はこちらです。
特定のブラウザーを検出することは、バージョンによって異なる機能を備えている可能性があるため、お勧めできません。より良い解決策は、Modernizrのようなものを使用してfeaturesを検出し、それに応じてスタイルを設定することです。
なんらかの理由で異なるレンダリング エンジンを検出する必要がある場合、PHP では次のbrowser_info()
メソッドを使用すると比較的簡単です。
<head>
...
<!-- Stylesheets for all browsers -->
<link rel="stylesheet" href="style.css" />
<?php
$browser = get_browser(null, true);
switch($browser['browser']){
case 'Firefox':
// User is using Firefox
$style = 'firefox.css';
break;
case 'Safari':
// User is using Safari
$style = 'safari.css';
break;
}
if(isset($style)){
// Specific browser stylesheet set - add to page
?>
<link rel="stylesheet" href="<?php echo $style;?>" />
<?php } ?>
</head>