【发布时间】:2010-12-22 03:03:49
【问题描述】:
我听说将块元素放在内联元素中是一种 HTML 罪:
<a href="http://example.com">
<div>
What we have here is a problem.
You see, an anchor element is an inline element,
and the div element is a block level element.
</div>
</a>
但是,如果您在样式表中将外部锚定为display:block 会怎样?还是错了吗? block-level and inline elements 上的 HTML 4.01 规范似乎是这样认为的:
样式表提供了一种方法 指定任意渲染 元素,包括是否一个元素 呈现为块或内联。在 某些情况,例如内联样式 对于列表元素,这可能是 合适,但一般来说, 不鼓励作者 超越常规 HTML 元素的解释 这边。
有人对此问题有任何进一步的提示吗?
【问题讨论】:
-
@DisgruntledGoat - 感谢您的链接 - 希望我能早点看到 :-)
-
锚点和\或链接元素是浏览器自动化控件。因此它具有浏览器预定义的呈现和行为。包装一个真正的纯 html 元素:然而 span 内的 div 是一种罪过。 A 标签不添加任何级别行为的原因是在不干扰文档流的情况下标记部分文本的要求,而不是因为它们应该是内联元素。从那个观点来看,A 是一个无所事事的标签。它的存在超出了问题的范围,也不是罪过,但可能会导致代码丑陋和/或模棱两可。
-
以后检查这里的其他人,请注意,虽然在 HTML5 中锚标签可以包含块级元素,但它们不能包含包含其他锚标签的块级元素!因为基本上,锚标签里面不能有其他锚标签。你可以在这里阅读更多内容:stackoverflow.com/questions/13052598/…
标签: html