我们可以添加 里面的标签?(can we add

2019-07-29 19:44发布

当我写的锚标记里面的html代码,我的Dreamweaver编辑器显示锚标记错误。 不应该使用标记内? 是否有任何规则写入/使用标签?

我使用的HTML 5这是我的代码。 http://jsfiddle.net/CfPnj/

Answer 1:

在HTML5中,你可以把块元素INSIZE <a>元素。 见http://dev.w3.org/html5/markup/a.html#a-changes
这是HTML5中的新。 在HTML的任何其他版本,这是非法的。

更新(后来补充说,当我明白HTML5更好)

这是因为<a>的内容模型由直列改为透明。 换句话说,你可以在里面放<a>现在是一样的,你可以把什么<a>的父。 实际的答案,这里的问题是,“这取决于”。
例如,

<div><a><ul><li></ul></a></div>

是完全有效的HTML5,而

<span><a><ul><li></ul></a></span>

不是(因为span是内嵌元素)。
希望这可以帮助!



Answer 2:

<ul>是块元素标记, <a>是内嵌元素标签-和块元素标签应该去内联元素标记中,只有周围的其他方式(或内联元素标签其他内联元素标签内)...

从这里开始,然后谷歌更多: http://line25.com/articles/10-html-tag-crimes-you-really-shouldnt-commit



Answer 3:

在一般情况下,内联元素只能让其他内联elments儿童。 如果检查HTML 4.01 DOCTYPE定义 ,你会看到,这确实是对的情况下<a>标签(线342)。 你的IDE是正确的标记<ul>内部标签<a>标记为无效,但大多数浏览器仍然会“做正确的事”。



Answer 4:

你试图做这样的事情:

<a href="google.com">
    <ul>
        <li>Google.com</li>
        <li>Gmail.com</li>
    </ul>
</a>​

它的语法正确按照HTML的规则,以及因为HTML不显示任何error因此它被露面为bug在您的Dreamweaver。

这将播种是这样的:

- Google.com
- Gmail.com

但两者的联系具有相同的位置google.com。

我还以为你正在尝试做这样的事情:

<ul>
    <li><a href="google.com">Google.com</a></li>
    <li><a href="stackoverflow.com">stackoverflow.com</a></li>
</ul>

这将呈现为:

  • Google.com
  • stackoverflow.com

这是一个没有任何错误..



Answer 5:

你不必把代码中的锚链接里面,因为当你,你会在锚的顶部被重定向点击链接,这样你就不需要在所有写代码<a>



Answer 6:

根据http://validator.w3.org这是有效的HTML5

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>title</title>
  </head>
  <body>
     <a href="#"><ul><li>foo</li></ul></a>
  </body>
</html>

但不是在HTML4.1(严格)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
  <html lang="en">
    <head>
      <title>title</title>
    </head>
    <body>
      <p>
        <a href="#"><ul><li>foo</li></ul></a>
      </p>
   </body>
  </html>

但感觉不对语义(我)要做到这一点:-)

纵观本说明书一个<ul> 允许 当流内容预计<a> 被分类为流的内容



文章来源: can we add