2011-01-13 62 views
3

我一直在玩html5,我注意到有时候页面在dom(通过firebug查看)中显示我的html不同于实际出现在我的html文件中。结果是一个元素以不同的方式被多次复制。我只注意到这个嵌套元素。html5元素重复自己的bug

例如:

<a href="#" class="block top-middle"> 
    <h5 class="title-top">TITLE</h5> 
    <img src=""path/to/img.png" alt="TITLE" /> 
</a><!-- .top-middle --> 

偶尔显示为:

<a class="block top-middle" href="#"> </a> 
<h5 class="title top"> 
    <a class="block top-middle" _moz-rs-heading="" href="#">TITLE/a> 
</h5> 

<a class="block top-middle" href="#"> 
    <img alt="TITLE" src="path/to/img.png"> 
</a> 

我真的不知道有什么解决的办法是,但我想知道是否有人经历过这样的故障。我已经仔细检查了我的代码中的所有内容,但无法找到任何破解的内容,并且在验证时发生的页面没有任何问题。这特别令人沮丧,因为它偶尔会发生一次。

谢谢!

* *编辑另外,我知道用锚标记这样是无效的,但据我已经能够告诉与我读过关于HTML5它是一个锚点有效包裹内容*

回答

3

浏览器/渲染引擎是在HTML 5存在之前创建的,因此它遵守的规则是,内联元素的锚不能包含块级别的h5s。

这非常合理。除了等待并看看渲染引擎是否采用允许锚点嵌套块级别的HTML 5规则(例如h5)之外,我认为您不能真正做其他任何事情。

编辑:我假设你使用HTML 5 Doctype,虽然它可能不会有太多的方向。

编辑#2:这已作为bug归档,即使我个人认为它不应该。解决这个问题的方法似乎是将h5封装在div中。

+0

非常感谢,我正在使用div的解决方法,它的工作原理(有时)我认为所学到的教训是使用xhtml,直到所有的扭结都真正用html5 – Thomas 2011-01-13 22:45:05