Html 为什么`<;![endif]-->;`出现在IE渲染页面上?
这件事变得非常愚蠢。。但在各种博客和微软网站上一遍又一遍地读到同样的简单答案后,我仍然感到困惑,因此我在这里问: 在本地网络上查看时,为什么此测试页面中的IE条件在IE页面底部呈现文本Html 为什么`<;![endif]-->;`出现在IE渲染页面上?,html,internet-explorer,Html,Internet Explorer,这件事变得非常愚蠢。。但在各种博客和微软网站上一遍又一遍地读到同样的简单答案后,我仍然感到困惑,因此我在这里问: 在本地网络上查看时,为什么此测试页面中的IE条件在IE页面底部呈现文本?我很确定这是IE“Downlevel hidden conditional comment”的正确语法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title&
?我很确定这是IE“Downlevel hidden conditional comment”的正确语法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>IEconditionalSyntax_wtf.html</title>
</head>
<body>
well?<br>
<!--[if IE]>
wtf?!
<![endif]-->
</body>
</html>
IEconditionalSyntax\u wtf.html
好吗?
更新: 为了节省阅读所有评论的时间。。。如果您有相同的问题: 下面的大多数评论基本上只是提出了可能的(但非决定性的,无效的)解释,一些人报告说他们无法重现这个问题。到目前为止,似乎没有人知道答案。我只在IE9/Win7(任何浏览器/文档模式)上查看页面时才看到问题。。。在我的本地服务器上(由我的本地iMac 10.6.8提供的页面,带有内置Web服务器) 但是,仅仅因为没有人能够消除我的本地服务器的这个问题,并不一定意味着下面的建议不能为您解决这个问题。在我们知道答案之前,我认为假设任何事情都没有帮助。因此,如果你的IE页面上出现了
,似乎没有什么好的理由,那么你可能真的想尝试下面列出的一切
Patrick提供了一个很好的解决方案,但它确实依赖于jquery
我辩论了是授予赏金(我开始的,赏金于2012年4月16日到期),还是接受一个答复,以便在应该得到承认的地方授予。。。对我来说没有明确的行动。。因此,我决定让系统自动将奖金的一半奖励给Patrick,以实现伟大的(尽管是jquery)解决方案。我不想给出全部悬赏,因为悬赏的全部目的是满足我的好奇心,即为什么我首先看到有条件的评论。我也不想接受任何答案(到目前为止),因为在这种情况下,我不会使用任何解决方法,因为这个问题只出现在我的本地网络上,因此与全球直播的生产代码无关。我正在处理一个类似的工作问题 我建议在关闭内联网自动检测的情况下再次测试: 加上所有兼容性模式设置设置为关闭 加上元标记IE=edge
我想这也许能解决这个问题 IE10不支持条件注释,因此我建议使用完全不同的方法 Javascript在这方面工作得很好 下面是我所做的,它更易于使用,需要jquery
var userAgent, version;
if ($.browser.msie) {
version = "ie" + $.browser.version.substring(0, 1);
$("body").addClass("ie " + version);
} else if ($.browser.mozilla) {
$("body").addClass("mozilla");
if (navigator.userAgent.toLowerCase().indexOf('firefox') !== -1) {
userAgent = navigator.userAgent.toLowerCase();
userAgent = userAgent.substring(userAgent.indexOf('firefox/') + 8);
userAgent = userAgent.substring(userAgent.indexOf('firefox/'), userAgent.indexOf('.'));
version = "ff" + userAgent;
$("body").addClass(version);
}
} else if ($.browser.opera) {
$("body").addClass("opera");
} else if ($.browser.webkit) {
$("body").addClass("webkit");
}
然后您可以这样编写css:
span.something { width: 30px; }
.ie7 span.something {width: 25px;}
而且,更好的是,将它与Modernizer结合使用,您还可以基于功能支持编写规则。。请注意,这些都是全局js变量,所以您甚至可以根据浏览器将它们用于不同的功能。比如,如果你需要写ie7黑客之类的东西
编辑:用不太详细的版本替换代码,相同的结果条件注释仅由internet explorer提供,internet explorer 9及以上版本应支持css中的大部分元素。注释适用于所有版本的IE(最好与5和6一起使用).这是因为IE在本地网络上默认使用兼容性视图: 公司内部网上的许多站点(如本地网络) )Internet Explorer 7现在和将来都能使用吗 “IE”表现得像IE7。为了保持与这些 业务线网站和应用程序,IE8默认为 在“本地intranet”中显示内容时的兼容性视图 区“Localhost”和环回地址是一个例外 (例如,127.0.0.1+IPv6等效协议)。这些地址显示在IE8中 默认情况下的标准模式,以满足web开发人员的需求 以及经常测试互联网消费页面的设计师 (其中默认为IE8标准)在本地web服务器上 用户可以通过取消检查来覆盖“本地intranet”设置 “在兼容性视图中显示intranet站点”位于工具-> 兼容性视图设置
澄清一下,您看到这一点是因为您使用192.168.x.x访问该站点,然而,我敢打赌,其他没有看到这个问题的人都在使用127.0.0.1/localhost。我遇到了一个类似的问题,条件语句出现在我的
中,当我在任何IE浏览器中显示它时,
显示在页面顶部,即使我将代码上传到服务器时也是如此
由于这是
之前的最后一行,我决定将我的打印css调用(无论如何我都需要这样做)移动到
和“哇!”之前的最后一行,现在
不再显示在IE中,甚至在我的本地服务器上。我添加了
而不是
,它消失了。HTML
我最近也有同样的问题。 在我的例子中,冲突代码是IE的条件语句中的元素之一,该语句在页面中具有最低的z索引。
在按顺序设置后,它将不会是最低的z索引,它已被修复。您是否在严格标准模式下运行IE9或10?@ta.speot.is带有doctype,我认为他无法执行IE9上的行为()在使用IE9时,…在使用开发工具(F12)并将“浏览器模式”设置为IE7、IE8或IE9时,问题显示。。。将“文档模式”设置为相应的标准模式(非怪癖模式)。@govinda能否提供一个可公开访问的页面截图/?加上xhtml过渡或html 4过渡文档类型?这的确是一个奇怪的怪兽!我希望你能成功,但我没有看到预期的结果。你在回答中说的我都做了
<span class ="clean"><!--[if lt IE]></span>
<span class="clean"><![endif]--></span>
.clean { display: none; }