我正在尝试在Electron(版本1.6.2)中创建一个应用程序。在应用程序中,我有许多元素,我希望它们的行为像按钮一样,但显示为简单的Glyphicons。我使用以下React代码:
这似乎可行,但它会全局修改按钮的焦点样式。下一步是只将其应用于 '.glyphicon-button' 类按钮。
编辑2:
尝试了以下代码,但不起作用:
private static optionsFormatter () {
return (
<div className={`${styles.fieldGlyphiconContainer}`}>
<Button className={`${styles.glyphiconButton} btn-link`}><Glyphicon glyph='edit'/></Button>
<Button className={`${styles.glyphiconButton} btn-link`}><Glyphicon glyph='remove'/></Button>
</div>
);
}
这些元素默认呈现正常:
然而,当我聚焦其中一个元素时,会出现一个我不想要的橙色轮廓:
在 Electron 调试器中查看 CSS 规则时,发现罪魁祸首是 Bootstrap CSS 文件中的以下内容:
.btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
然而,我无法抑制这些规则。根据类似问题的答案,例如此处和此处,我尝试将以下规则添加到我的CSS文件中:
.glyphicon-button {
// ...
:focus,
:active:focus,
.active:focus,
.focus,
:active.focus,
.active.focus {
outline: none !important;
}
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
outline: none !important;
}
我还尝试在Electron调试器中禁用规则。然而,这些方法都没有奏效:
有没有办法去掉焦点时的橙色轮廓线?
编辑
根据 @ovokuro 的评论,我已将CSS更改为以下内容:
.glyphicon-button {
padding: 0;
color: black;
:focus,
:active:focus,
.active:focus,
.focus,
:active.focus,
.active.focus {
outline: none !important;
}
}
button:focus,
button:active:focus,
button.active:focus,
button.focus,
button:active.focus,
button.active.focus {
outline: none !important;
}
这似乎可行,但它会全局修改按钮的焦点样式。下一步是只将其应用于 '.glyphicon-button' 类按钮。
编辑2:
尝试了以下代码,但不起作用:
button.glyphicon-button {
button:focus,
button:active:focus,
button.active:focus,
button.focus,
button:active.focus,
button.active.focus {
outline: none !important;
}
}
<button>
进行定位吗? - solbutton.glyphic-button:focus
吗? - sol