我已经看到了几种不同的方法来创建HTML文档中的可点击区域或元素组。
一种方法是将一堆元素包装在锚标记中,并使其显示为块。但是有人认为这在语义上是不正确的。另一种方法是使用JavaScript,但是,如果操作不当,则会禁用中间点击和右键单击,从而破坏用户体验。
最佳答案
W3说:
(编辑:一个链接会很好... dev.w3.org)
只要其中没有交互内容(例如按钮或其他链接),该a元素就可以包裹在整个段落,列表,表格等,甚至整个节中。本示例说明如何将其用于将整个广告块制作为链接:
<aside class="advertising">
<h1>Advertising</h1>
<a href="http://ad.example.com/?adid=1929&pubid=1422">
<section>
<h1>Mellblomatic 9000!</h1>
<p>Turn all your widgets into mellbloms!</p>
<p>Only $9.99 plus shipping and handling.</p>
</section>
</a>
<a href="http://ad.example.com/?adid=375&pubid=1422">
<section>
<h1>The Mellblom Browser</h1>
<p>Web browsing at the speed of light.</p>
<p>No other browser goes faster!</p>
</section>
</a>
</aside>
因此,如果您没有交互内容,请使用
<a>
;否则,请使用JavaScript。无论如何,这是我的看法。另外,我还要断言,由于
<a>
具有文本级语义,因此所有非文本类型的内容都应使用JavaScript而不是<a>
单击。就是说,很多人写<a href="..."><img ...></a>
,并且图像肯定不是文本。因此,充其量是一个晦涩的话题。