对Chrome和safari有任何等价的IE条件评论吗?

时间:2010-01-12 20:44:58

标签: css safari webkit google-chrome

我想知道是否有任何像webkit的条件评论那样有效。

我想改变宽度。

例如,

<!--[if IE]>
<link href="css/ie.css" rel="stylesheet" type="text/css" />
<![endif]-->

提前致谢。

4 个答案:

答案 0 :(得分:8)

不,没有。

你可以通过在JS中进行浏览器检测并动态附加脚本/样式来破解它。

或者,如果您只关心针对不同浏览器使用不同的css,则可以使用css hacks。可能有css hacks适用于您需要的浏览器。

或者,如果您需要更改的唯一内容是'width'(一个css定义?),您可以在jquery或javascript中执行此操作

jquery浏览器检测。看到: http://docs.jquery.com/Utilities/jQuery.browser

答案 1 :(得分:2)

我在每个项目中使用它: http://rafael.adm.br/css_browser_selector/

虽然如果你不得不在Firefox或Webkit中进行大量的定位 - 你可能想重新考虑如何编写HTML / CSS。

答案 2 :(得分:1)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Browsser Detection</title>

<link rel="stylesheet" href="Main.css" type="text/css">

<?php 

$msie        = strpos($_SERVER["HTTP_USER_AGENT"], 'MSIE') ? true : false; 
$firefox    = strpos($_SERVER["HTTP_USER_AGENT"], 'Firefox') ? true : false;
$safari        = strpos($_SERVER["HTTP_USER_AGENT"], 'Safari') ? true : false;
$chrome        = strpos($_SERVER["HTTP_USER_AGENT"], 'Chrome') ? true : false;

if ($msie) {
echo '
<!--[if IE 7]>
<link rel="stylesheet" href="ie7.css" type="text/css">
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" href="ie8.css" type="text/css">
<![endif]-->
';
}
if ($safari) {
echo '<link rel="stylesheet" href="safari.css" type="text/css">';
}

?>

</head>
<body>

    <br>
    <?php
    if ($firefox) { //Firefox?
    echo 'you are using Firefox!';
    }

    if ($safari || $chrome) { // Safari?
    echo 'you are using a webkit powered browser';
    }

    if (!$msie) { // Not IE?
    echo '<br>you are not using Internet Explorer<br>';
    }
    if ($msie) { // IE?
    echo '<br>you are using Internet Explorer<br>';
    }
    ?>

    <br>

</body>
</html>

来自Chrome conditional comments

答案 3 :(得分:0)

基于CSS的解决方案是回答here。它对webkit浏览器的支持非常广泛。