【发布时间】:2010-07-21 19:26:35
【问题描述】:
我经常用<a> 标签包装块级元素,以使整个组可点击。例如,假设我有一个事件列表:
<ul>
<li>
<a href="#" style="display: block;">
<div style="float: left; display: inline;">12/12/2010</div>
<div style="float: left; display: inline;">Some event information</div>
</a>
</li>
<!-- etc... -->
</ul>
注意:内联样式仅适用于示例。
这样,整个内容都是可点击的,而不仅仅是元素中的文本。
当然,validator.w3.org 的 (x)html 验证器不喜欢这样,因为我已将块级元素 (<div>) 置于内联级元素 (<a>) 内部。尽管如此,我还是使用 CSS 将 <a> 标记定义为块级,将 <div> 标记定义为内联。
我一直按照经验法则进行编码,即您应该始终努力编写有效的代码; 然而,如果你的代码没有通过验证,并且你理解它为什么没有验证,并且你有正当的理由让它没有验证,那就不用担心了。
所以我的问题是三方面的:
- 这是不验证的有效理由吗?
- 可用性增益(通过具有更大的可点击区域)是否值得不验证?
- 有没有更好的办法?
【问题讨论】:
-
有什么特别的理由不简单地在锚元素中使用像“span”这样的内联元素吗?
标签: html css validation usability