【发布时间】:2017-01-14 10:57:42
【问题描述】:
为什么默认按钮在单击时不显示任何轮廓样式,而自定义按钮在单击时显示轮廓样式?
如何在单击自定义按钮时删除轮廓样式,但在用户使用键盘导航到它时保留轮廓样式(与默认按钮相同的行为)?
.btn {
display: inline-block;
padding: 12px;
background: cyan;
border: none;
}
<div>
<button type="button">Why no outline styles on click?</button>
</div>
<div style="margin-top: 24px">
<button class="btn">Why outline styles on click?</button>
</div>
更新:出于可访问性原因,我不能使用大纲:无。参考:http://www.outlinenone.com/
【问题讨论】:
-
您可以使用 JS 使用
blur修复此问题。我猜用户代理正在响应浏览器事件并且正在移除默认样式元素的焦点,而不是自定义样式元素(至少对于某些属性)。