1

この質問が冗長に思われる場合は申し訳ありませんが、周りを見回すと、OS とは対照的に、ブラウザーごとの条件付き CSS に関して多くの質問があることがわかりました。

OSごとに異なるスタイルシートを簡単にロードする方法はありますか? (Macでピクセルウォーキングの背景を回避しようとしています。)できれば、Wordpressの子テーマにうまく統合できるオプションが必要です。

ありがとうございました!

4

2 に答える 2

1

最善の方法は、ユーザー エージェントごとに分割してから、別のスタイルシートを提供することです。wordperss を使用している場合、これは PHP になります。#

$_SERVER['HTTP_USER_AGENT']

http://php.about.com/od/learnphp/p/http_user_agent.htm

于 2012-04-24T14:34:53.697 に答える
0

私は数年前に同じ質問をしました。記事をもう一度見つけるためにしばらく検索する必要があったため、記事のコードを次に示します。

function get_broswer_stylesheet ($test_by = 'browser')
{
    $broswer = array(
        'MSIE', // parent
        'OPERA',
        'MOZILLA',
        'NETSCAPE',
        'FIREFOX',
        'SAFARI',
        'CHROME'
        );

    $os = array(
        'MAC',
        'WINDOWS',
        'LINUX'
        );

    $info[browser] = 'OTHER';
    $info[os] = 'OTHER';

    $user_agent = $_SERVER['HTTP_USER_AGENT'];

    foreach ($broswer as $parent)
    {
        $s = strpos(strtoupper($user_agent), $parent);
        $f = $s + strlen($parent);
        $version = substr($user_agent, $f, 5);
        $version = preg_replace('/[^0-9,.]/', '', $version);
        if (strpos(strtoupper($user_agent), $parent))
        {
            $info[browser] = $parent;
            $info[version] = $version;
        }
    }

    foreach ($os as $parent)
    {
        if (strpos(strtoupper($user_agent), $parent))
        {
            $info[os] = $parent;
        }
    }

    if ($test_by == 'browser' || $test_by == 'os')
    {
        $string = '<link rel="stylesheet" type="text/css" href="' . get_bloginfo('template_directory') . '/css/';

        if ($test_by == 'browser')
        {
            if ($info[browser] == 'MSIE') {
                switch ($info[version])
                {
                    case 9 : $string .= 'ie9.css'; break;
                    case 8 : $string .= 'ie8.css'; break;
                    case 7 : $string .= 'ie7.css'; break;
                    default: $string .= 'ie6.css'; break;
                }
            } elseif ( $info[browser] == 'FIREFOX') {
                $string .= 'firefox.css';
            } elseif ($info[browser] == 'SAFARI') {
                $string .= 'safari.css';
            } elseif ($info[browser] == 'CHROME') {
                $string .= 'chrome.css';
            } else {
                $string .= 'style.css';
            }
        } elseif ($test_by == 'os') {
            if ($info[os] == 'MAC') {
                $string .= 'mac.css';
            } elseif ($info[os] == 'WINDOWS') {
                $string .= 'windows.css';
            } elseif ($info[os] == 'LINUX') {
                $string .= 'linux.css';
            } else {
                $string .= 'style.css';
            }
        }
        $string .= '">';

        return $string;
    }
}

それが役立つことを願っています。$test_byパラメータをbrowserまたはに設定するosと、適切なスタイルシートが配信されます。

于 2012-05-10T14:18:38.493 に答える