【问题标题】:<div> is automatically replace with <span><div> 自动替换为 <span>
【发布时间】:2015-11-10 18:46:23
【问题描述】:

试图在“a”之后写“div”标签,但每当我通过查看源代码检查这段代码时,它会自动替换为“span”。我正在使用 HTML5 并在 Firefox 42 中检查此代码。我已经在 html 验证器中检查了它。

<a href="services.php" class="list-group-item block-active"> Services 
    <div class="icon-parent">
        <div class="default-block text-center other-bg block-active">
            <span class="fa-stack fa-lg">
                <i class="fa fa-code-fork fa-stack-1x"></i>
                <i class="fa fa-wrench fa-stack-1x"></i>
            </span>
        </div>
    </div>
</a>

【问题讨论】:

  • 你能把查看代码时出现的内容贴出来吗?
  • 如果您自己编写了与上述逻辑相关的任何类,请也发布您的 css
  • 尝试将文档顶部的doctype设置为&lt;!DOCTYPE html&gt;,这将指示浏览器在呈现时使用html5标准。

标签: html view-source


【解决方案1】:

通过验证器运行您的 HTML。

a 元素是不能容纳block 级别元素的内联元素。在不知道浏览器和文档类型的情况下,无法给出准确的答案,因为不同的浏览器可以根据需要自动更正错误的 HTML4。

HTML5 应该标准化。

【讨论】:

  • em 已经在使用 html5 并在 firfox 42 中检查此代码,我的 html 标记以 开头
【解决方案2】:

问题已解决! 感谢大家的建议,过去 3 天我们一直在努力解决这个错误,但解决方案非常简单,缺少内部结束跨度导致此错误。

【讨论】:

    【解决方案3】:

    您不应该在锚点内嵌套 div。

    <ul class="list-group">
        <li class="list-group-item">
            <a href="services.php">Services</a>
            <!-- your icon stuff here -->
        </li>
    </ul>
    

    【讨论】:

    • 其实用html5就可以
    • HTML5 allows 锚定包裹块元素
    • 另外,用户正在使用 Bootstrap css,这将允许根据用户选择进行格式化。在他的例子中,它实际上显示为菜单项
    • 我不是说你不能我说你不应该,它也会对 SEO 产生不利影响。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 2017-03-04
    • 2015-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多