链接各种浏览器的单独/条件/唯一样式表



当前将壁虎、歌剧、msie、webkit 等指向他们自己的附加样式表的最佳实践是什么?

浏览器嗅探已出局?我在网上找到的大部分内容都是2008年的旧帖子,或者关于对与错的理论争论,或者如何使用等等。

我们必须为此使用更复杂的东西。jquery或php说,(伪代码),"IF moz,@import url(moz.css)"或其他什么。

检测特定的浏览器是一个坏主意,因为不同的版本可能具有您可能不知道的不同功能。更好的解决方案是使用 Modernizr 之类的东西来检测功能,并相应地设置样式。

如果出于某种原因必须检测不同的渲染引擎,那么在 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>

从用户代理检测浏览器,并为该浏览器包含适当的 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()函数的详细文章。

最新更新