HTML5标记在旧版浏览器中是否为div?

时间:2014-04-05 04:57:17

标签: html5

从我读过的内容(IE 6 - 8除外),旧浏览器将以下HTML5标记视为内联:

文章,旁边,导航,部分,页脚

如果在现代浏览器中打开以下html:

this is the <article>article</article> tag.

它将呈现如下:

this is the
article
tag

为什么HTML5标签在现代浏览器中被视为块级标签,而在旧版浏览器中内嵌?

我还在某处读过旧浏览器将HTML5标签视为div,这意味着块级别。但是,对于旧浏览器如何处理这些标记,我没有明确的答案。

1 个答案:

答案 0 :(得分:0)

到目前为止,我发现的最佳资源是this article,从中可以获取以下代码段:

  

当HTML5元素存在时,基本上有三种可能的结果   在页面中使用:

     
      
  1. 标记被视为错误,完全被忽略。 DOM是   构造就像标签不存在一样。
  2.   
  3. 标记被视为错误,DOM节点被创建为   占位符。 DOM的构造如代码所示,但是   tag没有应用样式(被认为是内联元素)。
  4.   
  5. 标记被识别为HTML5标记,并且创建了DOM节点   代表它。 DOM的构造如代码所示   标签应用了适当的样式(在许多情况下,作为块   元素)。
  6.         

    作为具体示例,请考虑以下代码:

    <div class="outer">
        <section>
            <h1>title</h1>
            <p>text</p>
        </section>
    </div>
    
         

    许多浏览器(例如Firefox 3.6和Safari 4)都会将其解析为   具有未知子元素(<div>)的顶级<section>元素   在DOM中创建,但作为内联元素处理。 <h1>和。{   <p>元素是<section>的子元素。因为<section>是   在DOM中表示,可以为元素设置样式。这是   案例#2。

         

    9之前的Internet Explorer将其解析为顶级但看到了   <section>为错误。因此<section>被忽略,然后<h1><p>   被解析,都成为<div>的孩子。结束</section>是   也被视为错误并跳过。对此有效的理解   浏览器中的代码相当于:

    <div class="outer">
        <h1>title</h1>
        <p>text</p>
    </div>
    
         

    因此,较旧的Internet Explorer浏览器实际上可以很好地恢复   未知元素但创建的DOM结构与其他元素不同   浏览器。因为没有未知的DOM表示   元素,你也不能应用样式。这是案例#1。

         

    当然,支持HTML5的浏览器,如Internet Explorer 9,Firefox   4,Safari 5创建正确的DOM结构并应用   在HTML5中指定的那个元素的默认样式是正确的。