我正在编写一个单页商店应用程序,我像往常一样使用普通的锚标签设置菜单,因为它是这样设计的。然而,虽然我将实现浏览器历史记录,但我也会阻止默认并将其视为按钮,只需打开一个新视图。
是否应重新设计菜单以显示按钮而非锚标签。这是熟悉与实际功能(以及语义正确性,我相信)。
答案 0 :(得分:4)
我们来咨询the spec.
什么是<a>
元素?
如果a元素具有href属性,则它表示由其内容标记的超链接(超文本锚)。
如果a元素没有href属性,那么该元素表示一个占位符,用于放置链接的位置(如果它是相关的),仅包含元素的内容。
<button>
元素怎么样?
button元素表示按其内容标记的按钮。
如果您在导航中表示实际链接(即使它使用HTML5历史记录API),我说使用<a>
元素。如果不是,使用<button>
可能会更好。
对于导航,我可能会使用a
标记。
另一个问题是搜索引擎优化,像GoogleBot这样的抓取工具可以更容易地确定他们应该遵循a
链接而不是button
。