当我将pre元素设置为可编辑并将焦点放在该元素上进行编辑时,它周围会出现一个点状边框,看起来不太好看。当焦点不在此元素上时,边框消失了。
我该如何去除这个边框呢?
谢谢!
当我将pre元素设置为可编辑并将焦点放在该元素上进行编辑时,它周围会出现一个点状边框,看起来不太好看。当焦点不在此元素上时,边框消失了。
我该如何去除这个边框呢?
谢谢!
将outline
属性设置为0px solid transparent;
。您可能还需要在:focus
状态下进行设置,例如:
[contenteditable]:focus {
outline: 0px solid transparent;
}
.element:focus
有什么区别? - JJJ[contenteditable]:focus
相比,使用它有什么好处? - Joel不要在没有提供替代方式的情况下移除内置的焦点样式,此功能对于数百万使用键盘浏览网页或使用焦点轮廓辅助导航的视力受损人群至关重要。
关于这个话题的一个好建议例子来自HTML Living Standard(https://html.spec.whatwg.org/multipage/interaction.html#element-level-focus-apis):
[为了隐藏焦点环,请]使用:focus-visible伪类覆盖'outline'属性,并提供一种不同的方式来显示哪个元素具有焦点。请注意,如果没有提供可替代的聚焦样式,则主要使用键盘导航的人或使用焦点轮廓来帮助他们导航页面的视力减退人群将无法有效地使用页面。
例如,要从文本区域元素中隐藏轮廓并改为使用黄色背景表示焦点,可以使用:
textarea:focus-visible { outline: none; background: yellow; color: black; }
outline
不起作用。在这些浏览器中,您需要将元素的hideFocus
属性设置为true
,例如$('#myEl').get().hideFocus = true;
。 - Andy E[contenteditable]:focus { outline: 0px solid transparent; }
的翻译如下:当元素为contenteditable
且处于焦点状态时,将其轮廓设置为透明的无色边框。 - Alf Eatonoutline: none
。 - Yves M.