我正在创建一个 Web 应用程序,其中包含更改单个页面上的元素的命令列表。该页面 100% 依赖于 JavaScript。因此,我将这些链接编码为:
<a href="#">Command #1</a>
怀疑这在语义上是否正确,我发现很多地方都说我应该使用 abutton
来代替。
这是有道理的,但意味着我必须改变按钮的样式以使其看起来像一个链接,这感觉很hacky。这是正确的方法吗?
我正在创建一个 Web 应用程序,其中包含更改单个页面上的元素的命令列表。该页面 100% 依赖于 JavaScript。因此,我将这些链接编码为:
<a href="#">Command #1</a>
怀疑这在语义上是否正确,我发现很多地方都说我应该使用 abutton
来代替。
这是有道理的,但意味着我必须改变按钮的样式以使其看起来像一个链接,这感觉很hacky。这是正确的方法吗?
你给元素的样式与它是否是语义上正确的代码无关,所以我不会太担心。
Links
是为了在网络上的页面之间链接用户。
HTMLInput
元素旨在接受用户输入并使用它们进行操作。
基于这个简单的启发式,我会说用一个按钮!
我不认为使用链接在语义上是不正确的。如果它让您感觉更好,您可以将链接设置为按钮。
否则,如果这仍然让您感到困扰,那么将按钮设置为看起来像链接并没有错。你的应用程序的功能应该与你如何呈现你的按钮无关,只要它们做同样的事情并且符合你的期望。
正如评论中提到的,如果您想使用按钮,请记住它们的样式是表单元素,并且比使用锚标记更难。
两者在技术上都可以使用。对我来说,如果它是文本链接,那么我会使用<a>
标签,如果它是表单按钮或图像,则使用<button>
. 这样,您就可以与预期使用的元素保持一致。
一般来说,我更喜欢使用 div 来处理这些事情。链接带有许多固有的浏览器样式,按钮更是如此。Div 的唯一规则是 display:block。所以它为我节省了一些重置的 css 行。它还为我节省了一些 js 代码来防止默认行为。再加上没有正确的语义选择这一事实,那么使用 div 就很有意义。