如何删除文本/输入框周围的焦点边框(轮廓)?(铬)[复制]

How to remove focus border (outline) around text/input boxes? (Chrome) [duplicate]

提问人:Joey Morani 提问时间:8/3/2010 最后编辑:johannchopinJoey Morani 更新时间:1/16/2021 访问量:2748451

问:

谁能解释一下如何删除文本/输入框周围的橙色或蓝色边框(轮廓)?我认为它只会发生在 Chrome 上以显示输入框处于活动状态。这是我正在使用的输入CSS:

input {
    background-color: transparent;
    border: 0px solid;
    height: 20px;
    width: 160px;
    color: #CCC;
}

Text box with blue outline and "Example" written in it

CSS Google-chrome 输入 焦点 边框

评论

0赞 Adriano 2/11/2013
请注意,oulines 也会出现在不同的情况下:在 IE9 中,如果您使用 Tab 键选择按钮,您可以看到按钮周围的小点(即,您在按钮之前单击字段并使用 Tab 转到下一个字段,直到您到达按钮 [转到上一个字段是 Shift + Tab])
3赞 Luca Reghellin 6/22/2018
...如果有人需要从firefox中的选定元素中删除它:notes.jerzygangi.com/...
0赞 Phoenix 4/23/2019
使用边框样式:无; background-color:白色; font-size:13px; font-weight:粗体; 颜色:黑色;
0赞 Frank Forte 11/8/2019
正如 @Torkil-Johnsen 在下面的评论中提到的,您可能希望提供不同的样式以使其更明显,但只是删除它对可访问性非常不利(例如,仅使用键盘或其他辅助设备来浏览元素的人)。
1赞 Yosep Tito 6/25/2020
试试这个CSS,它对我有用textarea:focus, input:focus{ border: none; }

答:

63赞 Joey Morani 8/3/2010 #1

我已经找到了解决方案。
我在CSS中使用了:,它似乎起作用了。无论如何,感谢您的帮助。:)
outline:none;

评论

6赞 RoToRa 8/3/2010
这就是你要删除的焦点大纲。它的存在是有原因的:可用性。特别是键盘用户会讨厌它,如果你删除它。
32赞 ShrekOverflow 2/17/2012
@RoToRa如果他使用 shadows CSS 3 制作一个更好的呢?
137赞 azram19 8/3/2010 #2
input:focus {
    outline:none;
}

这样就可以了。橙色轮廓将不再显示。

评论

3赞 BetaCoder 1/14/2014
而不是 input:focus{ outline: 0; } -> outline:none;工程
23赞 mattumotu 7/29/2014
除非您提供一些其他样式,否则不要这样做,这对可访问性很重要。查看 outlinenone.com
1赞 Mike Gledhill 12/30/2014
实际上,这个CSS是不够的。例如,如果您使用的是 JQueryUI 选项卡,则在单击选项卡后会出现丑陋的蓝色边框,如果您只使用 CSS。您确实需要添加 a:focus 或 li:focus,以防止边框。
0赞 CommonSenseCode 1/16/2021
这对可访问性不利,不应该这样做。
0赞 Dholu 8/10/2023
我正在与 npmjs.com/package/react-phone-number-input 合作 这个解决方案效果很好。谢谢
3173赞 CEich 8/3/2010 #3

此边框用于显示元素已聚焦(即您可以输入输入或按 Enter 按钮)。不过,您可以使用 outline 属性将其删除:

textarea:focus, input:focus{
    outline: none;
}

您可能希望添加一些其他方式,让用户知道哪个元素具有键盘焦点,但为了可用性。

Chrome 还会将突出显示应用于其他元素,例如用作模态的 DIV。为了防止这些元素和所有其他元素突出显示,您可以执行以下操作:

*:focus {
    outline: none;
}


⚠️ 辅助功能警告

请注意,从输入中删除大纲是一种可访问性不好的做法。使用屏幕阅读器的用户将无法看到他们的指针聚焦在哪里。更多信息请访问a11yproject

评论

45赞 Joe Pigott 11/6/2013
这对我不起作用。我正在使用最新更新的 Chrome。我输入了CSS,但是当我输入时,蓝色的Mac轮廓仍然存在。input:focus {outline: 0;}
71赞 aceofspades 6/16/2014
outline: none
5赞 Nantoka 6/16/2014
outline-style: none 适用于 Chromium(版本 34)和 Firefox(版本 30)
70赞 Torkil Johnsen 7/25/2014
删除这个默认为 :focus 的大纲对可访问性不利。这意味着使用键盘导航的用户在点击选项卡时将很难看到突出显示的链接/项目。如果有的话,应该增强元素的突出显示,以使哪个项目具有焦点更加明显。
57赞 Crispen Smith 1/27/2015
@TorkilJohnsen,虽然我 100% 同意元素应该明显聚焦,但默认的蓝色/橙色环行为并不总是正确的策略。只要采用了某种策略(并且在整个设计系统中始终如一地采用),那么就应该编写 CSS 来支持该决策。
33赞 nonamehere 10/11/2012 #4

这会从所有和任何元素中删除 Chrome 中的橙色框架,无论它是什么以及在哪里

*:focus {
    outline: none;
}
14赞 Prashant Gupta 4/19/2013 #5

这肯定会奏效。橙色轮廓将不再显示。. 所有标签通用:

*:focus {
    outline: none;
}

特定于某些标签,例如:输入标签

input:focus {
   outline:none;
}
20赞 Tabish 5/8/2013 #6

请使用以下语法删除文本框的边框,并删除浏览器样式的突出显示边框。

input {
    background-color:transparent;
    border: 0px solid;
    height:30px;
    width:260px;
}
input:focus {
    outline:none;
}

评论

1赞 Gilberto Sánchez 12/29/2016
请注意 background-color 属性的透明定义。你不需要它,当你需要写一些东西时,你可能会遇到一个大问题(你不会找到输入!顺便说一句,就我个人而言,我会更改透明背景以选择颜色。例如,如果我的容器是红色的,我会在输入上使用白色背景。
0赞 Chayanin 3/20/2023
对我来说,只是概述:没有;行不通。但是坚实的 0px 为我解决了。
29赞 Touhid Rahman 5/23/2013 #7

溶液

*:focus {
    outline: 0;
}

PS:使用而不是对焦。这是有效且更好的做法。outline:0outline:none

评论

1赞 Carl 7/16/2019
不,无法在 Chrome 上运行
16赞 Glenn Maynard 7/26/2020
如何更好地练习?你需要解释为什么,而不仅仅是说出来。这绝对不是更好的做法。
14赞 madd 9/5/2013 #8

设置

input:focus{
    outline: 0 none;
}

“!important”是以防万一。那没有必要。[现在它消失了。

评论

22赞 Mackelito 11/20/2013
不要使用 !important,除非你真的必须使用它。
3赞 Rob 2/10/2017
@Mackelito 您必须使用 !important 才能使用 Bootstrap
300赞 gwintrob 2/21/2014 #9

当前的答案对 Bootstrap 3.1.1 不起作用。这是我必须覆盖的内容:

.form-control:focus {
  border-color: inherit;
  -webkit-box-shadow: none;
  box-shadow: none;
}

评论

27赞 Tim Scott 12/19/2014
box-shadow: none;为我做了伎俩。当我在没有它的情况下放入元素时,它还会消除 Chrome 在无边框和输入框上放置的非常微妙的阴影。:focus
1赞 Brad Ahrens 11/2/2017
这对我有用。由于某种原因,input:focus { outline:none;} 不起作用。
0赞 Naren Verma 1/3/2018
这对我有用。我正在使用 FF 最新的浏览器和大纲:没有一个不起作用。
4赞 Steve Snow 2/21/2018
此解决方案也适用于 bootstrap v4。
1赞 gtamborero 10/4/2019
在引导程序 4 上,如果要删除的轮廓是汉堡移动菜单的圆形,则只需使用: <button class=“navbar-toggler” style=“outline:none;” ...>
76赞 Kailas 10/8/2014 #10
<input style="border:none" >

对我来说效果很好。希望在html本身中修复它... :)

评论

5赞 Fuzzy Analysis 1/6/2015
<input style=“border:0px” >也有效。
4赞 Leo 11/22/2016
你可以三倍: input { border: 0 none transparent }
0赞 arun8 9/15/2017
当我将border:none添加到css类时,它仍然显示输入字段的边框。其中,内联 CSS style=“border:none” 正在工作
1赞 brandito 4/4/2018
@arun8听起来你的CSS选择器不是最高的“优先级”(忘记了这个词,但它就像,你的选择器的重要性,例如p > span.class比span更重要.class所以它将使用p>span中的代码.class
0赞 Kailas 4/4/2018
@arun8你可以尝试在CSS类中使用“!important”
12赞 Refilon 5/6/2015 #11

我发现您还可以使用:

input:focus{
   border: transparent;
}

评论

0赞 zoran404 12/14/2020
问题标题中可能有“边框”,但 OP 实际上是在询问默认大纲