在IE </section>中使用<section>标记时填充不起作用

时间:2011-09-08 06:08:17

标签: css html5

我正在使用HTML5&lt;部分&gt;我的应用程序中的标记,填充为&lt;部分&gt;标签在chrome,ff和safari中运行良好,但它在IE中不起作用..

我尝试添加display:block;部分风格,但它没用...

任何解决方案?

3 个答案:

答案 0 :(得分:14)

许多旧浏览器不理解像section这样的HTML5标记,并使用将其视为文档流中的内联项的后备。

IE超越了这一步,完全忽略了HTML5标签。要解决此问题,您需要通过Javascript将标记添加到文档中。幸运的是,有一个非常好的HTML5Shiv,你可以像这样嵌入你的HTML头:

    <!DOCTYPE html> 
    <head>

    <!--[if lt IE 9]>
    <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]--> 

    </head>

任何低于IE9的IE现在都会使用此脚本来启用常见的HTML5块。

您仍然需要使用CSS来使标记显示为块。我用:

    article,aside,details,figcaption,figure,
    footer,header,hgroup,menu,nav,section { 
            display:block;
    }

答案 1 :(得分:1)

我的回答只是在早期版本的IE中不支持<section>标记,所以如果没有ajsharma建议使用javascript,或者更好的选择,使用支持的标记就不可能填充<div>甚至<p>取决于您想要做什么。

答案 2 :(得分:0)

正如其他人所提到的,<section>元素是IE版本低于9的新HTML5元素之一。

我不确定this article是多么准确,但他们能够在使用XHTML5后获得你的效果。但是,有很多警告需要非常仔细地考虑才能使它工作(例如不向IE提供XML声明,因为它会使IE进入怪癖模式,但你需要将它提供给其他浏览器等。)

但是,这种方法的好处是您不需要使用Javascript来使其工作,因此可以为禁用Javascript的用户提供服务。