[英]ie 7-8 does not support object tag?
我在单独的html文件中创建了网站的页眉和页脚,并将这些文件嵌入到网页中。
经过所有的辛苦工作和完整的网站,我发现IE8中出现错误。 我的页眉和页脚在IE7和8中始终对齐。
<footer>
<div id="divObjFooter">
<object data="/footer.html" type="text/html">
</object>
</div>
</footer>
更新-修复了所有运行html5的版本,最终找到了一种支持任何版本的方法。
<!--[if IE]>
<div id="footer">
<div id="divObjFooter">
<iframe src="footer.html"> </iframe>
</div>
</div>
<![endif]-->
<![if !IE]>
<footer>
<div id="divObjFooter">
<object data="footer.html" type="text/html"> </object>
</div>
</footer>
<![endif]>
ie8和更早版本不支持HTML5标记(在您的情况下为<footer>
标记),因此不设置样式。 为了解决这个问题,您可以简单地使用带有id的div
并从那里对其进行样式设置,或者,如果您想使用最新最好的HTML5素材,可以使用html5 shiv。
我建议托管在Google代码上的脚本: https : //code.google.com/p/html5shiv/
在针对目标受众使用新标签和选择器之前,请检查网站“我可以使用 HTML5
和CSS3
浏览器支持”。
IE <10支持很少(不到40%)的现代html和css。 您可能必须使用modernizr或类似的东西,或者根本不使用最新的“光泽”
首先要回答标题中的问题:自IE 4起,IE一直支持object
元素(尽管早期的实现很糟糕)。 您的问题似乎不在于该元素,而在于footer
元素的样式–一个完全不同的问题。
IE 7和IE 8不支持footer
元素。这一点关系不大,因为默认效果是使元素内容成为一个块,而您的内容已经是一个块(一个div
元素)。 造成此问题的原因是,您有一些CSS规则在footer
元素上设置了属性。 这在IE 7-8上不起作用,因为即使在让您设置样式的意义上,他们也无法识别该元素。
有一个快速修复:将以下内容放在您的第一个样式表之前或对任何样式表的引用:
<script>document.createElement('footer')</script>
实际上,这就是许多“填充”或“填充”所执行的操作,或者您所谓的“填充”操作,如果仅footer
有问题,则可以仅使用快速修复方法。
或者,使用#divObjFooter
选择器在内部的div
上设置CSS规则。
PS使用object
(或iframe
)来包含页脚是可能的,但是笨拙。 它会在文档窗口的子窗口中包含一个HTML文件,并且链接将无法正常工作等。如果可能,最好使用服务器端工具,例如服务器端包含(SSI)或更高级的工具或页面管理软件。
<!--[if IE]>
<div id="footer">
<div id="divObjFooter">
<iframe src="footer.html"> </iframe>
</div>
</div>
<![endif]-->
<![if !IE]>
<footer>
<div id="divObjFooter">
<object data="footer.html" type="text/html"> </object>
</div>
</footer>
<![endif]>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.