如何在macOS的SwiftUI中禁用或自定义按钮的焦点环(高亮)?
自定义键盘导航下按钮的焦点样式
要替换默认的焦点高亮环(橙色轮廓),可以通过CSS的:focus伪类自定义按钮获得焦点时的样式,同时保留键盘导航的可访问性:
- 先重置默认的
outline样式(消除原高亮环),再添加自定义焦点效果:
/* 自定义按钮焦点样式 */ .your-button-class:focus { /* 移除默认轮廓 */ outline: none; /* 自定义背景色 */ background-color: #e0f2fe; /* 文字加粗 */ font-weight: bold; /* 可选:添加自定义边框保证可访问性 */ border: 2px solid #0ea5e9; }
注意:不能完全省略焦点状态的视觉指示,这对键盘导航用户的可访问性至关重要。自定义样式要确保焦点状态清晰可辨,比如用对比明显的背景色或边框。
如果按钮自带阴影,可改用
box-shadow替代边框,避免遮挡原有阴影:
.your-button-class:focus { outline: none; background-color: #e0f2fe; font-weight: bold; /* 用阴影替代边框,不遮挡原有阴影 */ box-shadow: 0 0 0 2px #0ea5e9; }
内容的提问来源于stack exchange,提问作者Niek
相关产品推荐
相关产品推荐

