我在一个单独的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]>
答案 0 :(得分:1)
ie8及更早版本不支持HTML5标记(在您的情况下为<footer>
标记),因此不会设置它们的样式。要解决这个问题,你可以简单地使用带有id的div
和来自那里的样式,或者,如果你想使用最新和最好的HTML5,你可以使用html5 shiv。
我会推荐托管在Google代码上的脚本: https://code.google.com/p/html5shiv/
答案 1 :(得分:0)
在针对目标受众群体使用新标记和选择符之前,请检查网站Can I Use以获取HTML5
和CSS3
的浏览器支持。
IE&lt; 10支持非常少(不到40%)的现代HTML和CSS。您可能不得不使用modernizr或类似的东西,或者根本不使用最新的“闪亮”
答案 2 :(得分:0)
首先回答标题中的问题:自IE 4以来,IE已经支持object
元素(尽管早期实现很糟糕)。你的问题似乎不是那个元素,而是你footer
元素的样式 - 一个完全不同的问题。
IE 7和IE 8不支持footer
元素。这很重要,因为默认效果只是使元素内容成为块,而您的内容已经是块(a { {1}}元素)。导致问题的原因是您有一些CSS规则可以在div
元素上设置属性。这在IE 7-8上不起作用,因为它们甚至不会让你对它进行设计也不会识别它。
有一个快速解决方法:将以下内容放在第一个样式表或任何样式表的引用之前:
footer
这实际上是许多“填充”或“填充”或者你称之为“填充”的东西,如果你只有<script>document.createElement('footer')</script>
的问题,你可能只使用快速修复。
或者,使用footer
选择器在div
里面设置CSS规则。
P.S。使用#divObjFooter
(或object
)包含页脚是可能的,但是很笨拙。它将在文档窗口的子窗口中包含一个HTML文件,链接将无法正常工作等。如果可能的话,最好使用服务器端工具,如服务器端包含(SSI)或更高级的对应工具,或页面管理软件。
答案 3 :(得分:0)
<!--[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]>