微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HTML5 – 包含在Firefox中的问题?

我这样做的时候……
<li>
    <a href="#">
      <img src="#" width="#" height="#" alt="#" />
      <ol class="#">
        <li>#</li>
        <li>#</li>
        <li>#</li>
      </ol>
    </a>
 </li>

它像Firefox一样在Firefox中渲染…

<li>
    <a href="#">
      <img src="#" width="#" height="#" alt="#" />
    </a>
      <ol class="#">
      <a href="#"></a>
        <li>a href="#">#</a></li>
      <a href="#"></a>
        <li>a href="#">#</a></li>
      <a href="#"></a>
        <li>a href="#">#</a></li>
      </ol>
    <a href="#"></a>
 </li>

似乎在Webkit中正确呈现.有任何想法吗?

解决方法

虽然HTML5现在允许< a>在包含块级元素(例如ol)的元素中,Firefox的解析器传统上不接受,而是将它们转换为单独的< a>序列.在块级元素内部,它们只包含内联级别元素,这就是您所看到的.

因为Firefox是唯一一个主要的浏览器制作者,Mozilla人接受了HTML5的更改,同意改变他们的解析器以允许< a>包装块内容的元素. (这只是HTML5的许多解析器更改之一,尽管它似乎可能是最重要的一个)

这种变化发生在Firefox 4中,所以你不会在那里看到问题,但Firefox 3.x仍然使用旧的行为.

解决方法,包括使用< div>使用onclick属性而不是< a>,并使用JavaScript将块包装在< a>中元素,但没有非JS解决方案.鉴于(a)页面应该仍然可用,并且(b)Firefox 3.x应该在不太遥远的未来消亡,一个合理的选择就是接受现在的奇怪的Firefox 3行为.

原文地址:https://www.jb51.cc/html5/168077.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。