You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用all: unset后,如何恢复按钮聚焦时的浏览器默认outline样式

清除按钮默认样式且保留原生聚焦outline

直接把代码里的 outline: initial; 换成 outline: revert; 就能解决问题,核心原因是:

  • initial 是把属性重置为CSS规范定义的初始值(outline的初始值是none),并不是浏览器给按钮设置的原生聚焦样式
  • revert 会让属性恢复成浏览器默认的用户代理样式,也就是原生按钮原本的聚焦outline效果

完整代码如下:

button {
    all: unset;
    cursor: pointer;
}
button:focus {
    outline: revert;
}
<div><a href="#">MY LINK</a></div>
<br>
<div><button>MY BUTTON</button></div>
<br>
<div><a href="#">MY LINK</a></div>

如果不想用all: unset一次性清除所有样式,也可以针对性重置按钮的border、background、padding、font等属性,这样能更精准地控制保留的原生行为,但all: unset配合outline: revert是最简洁的方案,既能彻底清除默认视觉样式,又能保留无障碍访问必需的原生聚焦反馈。

内容的提问来源于stack exchange,提问作者Oscar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 16:04:54