单击时按钮周围出现不需要的轮廓或边框

Posted

技术标签:

【中文标题】单击时按钮周围出现不需要的轮廓或边框【英文标题】:Unwanted outline or border around button when clicked 【发布时间】:2011-05-30 06:42:06 【问题描述】:

我的网站上有一个样式按钮。但是当我单击它时,它会创建一个不需要的边框或轮廓(我不知道是哪个)。如何删除该边框?以下是与按钮相关的所有代码。

button 
    border: hidden;
    cursor: pointer;
    outline: none;
<button>this is my button</button>

【问题讨论】:

哪个浏览器?什么平台?能发个截图吗? 点击后我看不到任何边框..你能解释一下你在说哪个边框..吗? jsfiddle.net/PQVnT/4 【参考方案1】:

使用这些 CSS 样式中的任何一种

a:active,
a:focus,
input,
input:active,
input:focus 
    outline: 0;
    outline-style:none;
    outline-width:0;
  
a:active,
a:focus,
button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner 
    border: none;
 

:focus outline:none; ::-moz-focus-inner border:0;

CSS 样式部分完成后,您可能还需要设置 IE 模拟器。更新您的 Web 应用程序 web.config 文件并包含以下键。

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <clear />
      <add name="X-UA-Compatible" value="IE=7; IE=9; IE=8; IE=5;" />
    </customHeaders>
  </httpProtocol>

</system.webServer>

【讨论】:

【参考方案2】:

如果您在谈论 Firefox 中的虚线,我认为您正在寻找的是:

button::-moz-focus-inner  border: 0; 

这是一个关于该主题的线程:How to remove Firefox's dotted outline on BUTTONS as well as links?

【讨论】:

【参考方案3】:
outline: none;

这在 Chrome 中对我有用。

【讨论】:

【参考方案4】:

请不要删除焦点样式的轮廓,这会使仅使用键盘的用户和视力不佳的用户无法访问您的网站。

如果您选择将 :focus outline: none; 之类的内容添加到样式表中,还可以为焦点元素添加您拥有的样式。

阅读:Never remove CSS outlines

【讨论】:

【参考方案5】:

这是一个大纲。 在 :focus 伪类上使用 outline:none; 将其删除。 对我来说效果很好。

【讨论】:

以上是关于单击时按钮周围出现不需要的轮廓或边框的主要内容,如果未能解决你的问题,请参考以下文章

单击时,React 按钮周围有蓝色边框

删除点击按钮周围的边框[重复]

移除 Android 应用程序周围的绿色边框

引导按钮单击时显示蓝色轮廓

单击时移除 QPushButton 周围的方格边框

如何在 UI 按钮/文本标签中的字母周围制作边框?