css - 设置大纲 :none for a, :hover 和 :active 但为 :focus 启用浏览器默认设置

标签 css accessibility

我有这样的按钮样式:

.submit-button {
    display: block;
    color: red;
    outline: none;
}

我可以添加一个 :focus 状态,然后将轮廓设置为浏览器默认轮廓吗?

.submit-button:focus {
     outline: browser-default;
}

我试过 outline: inherit; 但这对页面没有影响。

最佳答案

你可以使用 :not() 伪类,像这样:

.submit-button:not(:focus) {
    outline: none;
}

这样做会阻止选择器覆盖 :focus 上的默认值。

最好的部分是,所有理解 :focus 的浏览器都可以理解 :not() 伪类。

关于css - 设置大纲 :none for a, :hover 和 :active 但为 :focus 启用浏览器默认设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8866121/

相关文章:

html - "Position:absolute"无法使 div 按钮粘在另一个 div 的右下角

css - 如何为混合移动应用程序创建响应图像

jquery-ui - ui-helper-hidden-accessible在无序列表中的作用是什么?

html - 如何制作比屏幕尺寸宽的表格,可滚动并保持标题行固定?

javascript - 打印预览前的页面格式

css - 将 xpath 转换为 css

javascript - 如何让键盘+屏幕阅读器访问我的 Accordion ?

html - 如何在 Angular JS 中实现 'skip to content' 链接?

ios - 画外音无法正确读取电话号码

javascript - 使用不显眼的 JS 而不是 jQuery,用于导航的可访问更改菜单项,