首页 > 解决方案 > 是否有将 div 设置为按钮的有效用例?

问题描述

标题说明了一切,是否有一个实际的用例,您应该将 a<div><span>设置为按钮,而不仅仅是一个按钮?

Bootstrap 仍然有一个.btn类 - 这是向后兼容性(当样式按钮很困难时)还是我错过了一些意味着我们仍然需要它的用例?

编辑以使其清楚

感谢您的回答和评论,但我可能不清楚。

我正在找人提供一个有效的理由 a <div>or<span>等​​而不是 a<button>并且偶尔<a>应该将样式设置为看起来像一个按钮(感谢@James Grimshaw 指出它对于一个<a>看起来像按钮的元素可能是有效的)。

如果不是,为什么不将引导程序a.btn-block, button.btn-block用作选择器来强制执行正确的语义,并节省开发人员必须btn在类列表中为元素编写代码?

标签: csstwitter-bootstrapbootstrap-4

解决方案


Bootstrap.btn类旨在与abutton元素一起使用。例如:

<a href="" class="btn btn-primary">A button</a>

可能存在使用 a 的潜在用例div,并且一些网站会这样做,因为您可以使用 JavaScriptonclick=""处理程序来检测点击并允许它像常规buttona元素一样运行。但是绝对不推荐,您应该坚持使用标准按钮或链接,原因如下:

  1. 如果 JavaScript 因任何原因被禁用:常规buttona元素具有默认浏览器行为,并且不需要 JavaScript。

  2. 可访问性:标准按钮或链接元素被自动识别为具有与之关联的操作,而divorspan元素不应具有单击操作。

  3. 功能:在 Bootstrap 的情况下,.btn该类还针对buttona特定状态,例如disabled:focus:visited,这意味着该类的所有方面.btn甚至不能完全使用divor span


推荐阅读