当我写的锚标记里面的html代码,我的Dreamweaver编辑器显示锚标记错误。 不应该使用标记内? 是否有任何规则写入/使用标签?
我使用的HTML 5这是我的代码。 http://jsfiddle.net/CfPnj/
当我写的锚标记里面的html代码,我的Dreamweaver编辑器显示锚标记错误。 不应该使用标记内? 是否有任何规则写入/使用标签?
我使用的HTML 5这是我的代码。 http://jsfiddle.net/CfPnj/
在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
是内嵌元素)。
希望这可以帮助!
<ul>
是块元素标记, <a>
是内嵌元素标签-和块元素标签不应该去内联元素标记中,只有周围的其他方式(或内联元素标签其他内联元素标签内)...
从这里开始,然后谷歌更多: http://line25.com/articles/10-html-tag-crimes-you-really-shouldnt-commit
在一般情况下,内联元素只能让其他内联elments儿童。 如果检查HTML 4.01 DOCTYPE定义 ,你会看到,这确实是对的情况下<a>
标签(线342)。 你的IDE是正确的标记<ul>
内部标签<a>
标记为无效,但大多数浏览器仍然会“做正确的事”。
你试图做这样的事情:
<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>
这将呈现为:
这是一个没有任何错误..
你不必把代码中的锚链接里面,因为当你,你会在锚的顶部被重定向点击链接,这样你就不需要在所有写代码<a>
根据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>
被分类为流的内容 。