即7-8不支持对象标签?

时间:2013-02-14 19:57:22

标签: html html5 internet-explorer internet-explorer-8 internet-explorer-7

我在一个单独的html文件中创建了我的网站的页眉和页脚,我将这些文件嵌入到我的网页中。

经过所有努力工作并完成网站后,我在IE8中遇到了错误。我的页眉和页脚在IE7和&位置的所有位置都是对齐的。 8。

<footer>
    <div id="divObjFooter">
        <object data="/footer.html" type="text/html">
            &nbsp;
        </object>
    </div>
</footer>

更新 - 针对运行html5 的任何版本修复 终于找到了支持任何版本的方法。

<!--[if IE]>
            <div id="footer">
                <div id="divObjFooter">
                    <iframe src="footer.html">&nbsp;</iframe>
                </div>
            </div>
        <![endif]-->

        <![if !IE]>     
            <footer>
                <div id="divObjFooter">
                    <object data="footer.html" type="text/html">&nbsp;</object>
                </div>
            </footer>
        <![endif]>

4 个答案:

答案 0 :(得分:1)

ie8及更早版本不支持HTML5标记(在您的情况下为<footer>标记),因此不会设置它们的样式。要解决这个问题,你可以简单地使用带有id的div和来自那里的样式,或者,如果你想使用最新和最好的HTML5,你可以使用html5 shiv。

我会推荐托管在Google代码上的脚本: https://code.google.com/p/html5shiv/

答案 1 :(得分:0)

在针对目标受众群体使用新标记和选择符之前,请检查网站Can I Use以获取HTML5CSS3的浏览器支持。

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">&nbsp;</iframe>
            </div>
        </div>
    <![endif]-->

    <![if !IE]>     
        <footer>
            <div id="divObjFooter">
                <object data="footer.html" type="text/html">&nbsp;</object>
            </div>
        </footer>
    <![endif]>