我试过了:
<!--[if lt IE 6.0]>
HTML TO HIDE FROM IE6
<![endif]-->
但不幸的是,这些内容也会被firefox隐藏起来。有人有方法吗?我希望这些东西只能从IE6中隐藏
由于
答案 0 :(得分:19)
您实际上可以使用条件注释来隐藏来自Internet Explorer的内容,这与deceze的答案相反。这些类型的条件注释称为“Downlevel Reveal Conditional Comments”。 (这些与用于向Internet Explorer显示内容的注释不同,这些注释更为常见,被称为“下层隐藏条件注释”)
<!--[if lte IE 6]><![if gte IE 7]><![endif]-->
<!-- This is a bit mad, but code inside here is served to everything
except browsers less than IE7, so all browsers will see this -->
<!--[if lte IE 6]><![endif]><![endif]-->
但是,如果您已经使用下层隐藏的条件注释来向IE6显示IE6样式表,那么您可能最好只使用CSS隐藏它。
我希望这会有所帮助。
答案 1 :(得分:0)
与您的问题有点混淆,但这是用于检测Internet Explorer版本的JavaScript代码。取自Detecting Internet Explorer More Effectively。将要隐藏的HTML内容从IE6中添加到div中,并使用下面的函数将其隐藏。
function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer')
{
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat( RegExp.$1 );
}
return rv;
}
function checkVersion()
{
var msg = "You're not using Internet Explorer.";
var ver = getInternetExplorerVersion();
if ( ver > -1 )
{
if ( ver == 6.0 )
**Hide the DIV here**
}
alert( msg );
}
答案 2 :(得分:0)
尝试
<!--[if lte IE 6.0]>
在您的CSS中,使用lte
(小于或等于)而不是lt
(小于)。
答案 3 :(得分:0)
条件注释根本不应影响Firefox,因为它们已被注释掉,浏览器应忽略它。我会检查你的Firefox样式表是否正确并正确嵌入如下:
<link href="/css/main.css" rel="stylesheet" type="text/css" />
<!--[if lt IE 7]>
<link href="/css/ie6.css" rel="stylesheet" type="text/css" media="screen"/>
<![endif]-->
答案 4 :(得分:0)
阅读Natalie Downe's answer后,我会这样做:
<!--[if true]><![if !IE]><![endif]-->
<h1>You're not using IE. Well done!</h1>
<!--[if true]><![endif]><![endif]-->
您可以使用否定条件评论来隐藏IE中的内容,但不能隐藏其他浏览器中的内容。
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css"></style>
<script type="text/javascript"></script>
</head>
<body>
<![if !IE]>
<h1>You're not using IE. Well done!</h1>
<![endif]>
</body>
</html>
它会呈现一些无效的标记,但它可以正常工作。
参考:http://msdn.microsoft.com/en-us/library/ms537512%28VS.85%29.aspx
答案 5 :(得分:0)
Natalie Downe的答案已经足够好了,但是有一个更短更清晰的版本可以隐藏IE6中的内容(或者10以下的任何版本):
<!--[if !IE 6]><!-->IE6 can't see me<!--<![endif]-->
要定位IE6 及以下,您可以使用
<!--[if gt IE 6]><!-->IE6 and lower can't see me<!--<![endif]-->
如果您只想支持IE10 +,可以使用
<!--[if !IE]><!-->IE9 and lower can't see me<!--<![endif]-->
事实上,IE10 +不支持条件评论。灵感来自Browserhacks。
当然,每个其他浏览器都可以看到内容,因为它都是有效的HTML。