抱歉,如果这个问题看起来多余,但环顾四周,我发现每个浏览器都有很多关于条件 CSS 的问题,而不是操作系统。
有没有办法简单地为每个操作系统加载不同的样式表?(我试图绕过 Mac 上的像素行走背景。)我最好需要一个可以很好地集成到 Wordpress 子主题中的选项。
谢谢!
抱歉,如果这个问题看起来多余,但环顾四周,我发现每个浏览器都有很多关于条件 CSS 的问题,而不是操作系统。
有没有办法简单地为每个操作系统加载不同的样式表?(我试图绕过 Mac 上的像素行走背景。)我最好需要一个可以很好地集成到 Wordpress 子主题中的选项。
谢谢!
最好的方法是通过用户代理将其分解,然后提供不同的样式表。如果您使用 wordperss 这将是 PHP。#
$_SERVER['HTTP_USER_AGENT']
几年前我也有同样的问题。我不得不搜索一段时间才能再次找到该文章,所以这里是文章中的代码:
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
or os
,它会尝试提供正确的样式表。