注意到<!> IE6和7中的元素(尚未测试8)开发人员工具栏。它似乎是为我的一个实际元素保存背景图像而创建的元素(实际元素现在是根据IE的<!>元素的子元素)
有谁知道<!>元素是为什么IE创建它来保存背景图像(我在元素旁边有另一个几乎相同的元素,现在是<!>元素的子元素,而且不需要/获得<!>元素背景图片的元素)
实际加价(简化)
<div id='d1'>I have a background image</div>
<div id='d2'>So do I</div>
由IE6和7
标记为renderen<!> <!-- now contains the background image for d1'-->
div id='d1'>I no longer have a background image</div>
</!> <!-- or whatever the closing tag for <!> is -->
<div id='d2'>SI still have mine</div>
修改:
可以找到实际网站here。实际的标记非常庞大和复杂。 (问题的元素是#leftBar元素,请注意,它的高度由javascript决定)
这是描述包含在&lt;!&gt;
中的元素的所有CSSposition:absolute;
left:0px;
z-index:15;
width:15em; /* on update change: #contentWrapper:padding-left, #rondleiding:left */
height:100%;
overflow:visible;
background: url("http://somewhere/img.png") repeat #a99c89;
此外,页面元素确实存在javascript操作,但这些操作并不处理#leftBar元素的背景图像。
根据W3C验证器,页面非常有效(图像上有一些错误)。
此外,我将添加赏金,因为我现在要求人们查看实际网站(这意味着要挖掘我的狗屎)。(忘记一个问题需要开放两天那)
答案 0 :(得分:1)
这是由ie7 / ie8.js脚本中的错误引起的。我还没有弄清楚怎么样...调试没那么有趣,因为那个库是如此迷人的小功能。你真的需要包括它吗?如果您想要修复一个特定的行为,那么单独解决它可能会更好。我从来没有真正相信这些巨大的尝试 - 修复一切一生的脚本。
所以相反我会指出你似乎加载jQuery两次(一次来自谷歌,一次来自你自己的网站,错误的MIME类型),你有这个验证问题(其余的文档似乎OK):
<![if gte IE 8]>
...
<![endif]>
令人遗憾的是,MSDN仍在发布这种无效的条件注释语法,因为很容易有一个下层显示的条件注释也是有效的:
<!--[if gte IE 8]><!-->
...
<!--<![endif]-->
答案 1 :(得分:-1)
真实(非简化)标记是否可能包含语法错误?我已经看到IE开发工具栏完全不知道在一个属性上错过关闭"
的事情。