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

如何仅移除点击触发的outline,保留键盘导航(Tab)的outline

解决方案

要实现仅移除点击触发的outline、保留键盘导航(Tab)触发的outline效果,可以利用CSS的:focus-visible伪类精准控制焦点样式的显示时机:

调整后的CSS代码

/* 移除鼠标点击触发焦点时的outline */
.po-radio-focus label:not(:focus-visible) {
  outline: none;
}

/* 仅在键盘导航等需要焦点反馈的场景下显示outline */
.po-radio-focus label:focus-visible {
  outline-color: var(--color-radio-group-border-color-focusable, var(--outline-color-focused));
  outline-width: var(--border-width-lg);
  outline-style: solid;
  outline-offset: 2px;
}

原理说明

  • :focus-visible是CSS原生伪类,浏览器会自动识别焦点触发方式:仅当焦点通过键盘(如Tab键导航)或其他需要视觉反馈的交互方式触发时,才会匹配该伪类。
  • 通过:not(:focus-visible)选中鼠标点击触发的焦点状态,移除其outline样式,就能实现点击无outline、键盘导航保留outline的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:50:34