css - 是否有将 div 设置为按钮的有效用例?
问题描述
标题说明了一切,是否有一个实际的用例,您应该将 a<div>
等<span>
设置为按钮,而不仅仅是一个按钮?
Bootstrap 仍然有一个.btn
类 - 这是向后兼容性(当样式按钮很困难时)还是我错过了一些意味着我们仍然需要它的用例?
编辑以使其清楚
感谢您的回答和评论,但我可能不清楚。
我正在找人提供一个有效的理由 a <div>
or<span>
等而不是 a<button>
并且偶尔<a>
应该将样式设置为看起来像一个按钮(感谢@James Grimshaw 指出它对于一个<a>
看起来像按钮的元素可能是有效的)。
如果不是,为什么不将引导程序a.btn-block, button.btn-block
用作选择器来强制执行正确的语义,并节省开发人员必须btn
在类列表中为元素编写代码?
解决方案
Bootstrap.btn
类旨在与a
或button
元素一起使用。例如:
<a href="" class="btn btn-primary">A button</a>
可能存在使用 a 的潜在用例div
,并且一些网站会这样做,因为您可以使用 JavaScriptonclick=""
处理程序来检测点击并允许它像常规button
或a
元素一样运行。但是绝对不推荐,您应该坚持使用标准按钮或链接,原因如下:
如果 JavaScript 因任何原因被禁用:常规
button
或a
元素具有默认浏览器行为,并且不需要 JavaScript。可访问性:标准按钮或链接元素被自动识别为具有与之关联的操作,而
div
orspan
元素不应具有单击操作。功能:在 Bootstrap 的情况下,
.btn
该类还针对button
或a
特定状态,例如disabled
、:focus
或:visited
,这意味着该类的所有方面.btn
甚至不能完全使用div
orspan
。
推荐阅读
- vba - 错误时类型不匹配
- asp.net-mvc - 如何在mvc中更新登录密码?
- python - 如何在 Acumos ML Workbench 中连接模型和数据源?
- javascript - 在检查其子集合的文档是否正确后从文档中读取数据
- c++ - 允许根据预处理器指令使用成员变量
- python - Python不会逐行读取文件
- python - 如何在包含占位符的字典中加载 yaml 文件内容?
- lua - Changing Variable by using variable+string? LUA
- delphi - Why I get access violation error from TBitmap.LoadFromStream method in datasnap ISAPI dll?
- amazon-web-services - AWS Amplify Redirects Gatsby 404 to Root URL