当我点击其他地方的边界消失,我试图使用onfocus: none,但这没有帮助。如何使这个丑陋的按钮边界消失时,我点击它?

输入(type =按钮){ 宽度:120 px; 高度:60 px; margin-left: 35 px; 显示:块; 背景颜色:灰色; 颜色:白色; 边界:没有; } <input type="button" value="Example button" >


当前回答

这比你想象的要简单得多。当按钮被聚焦时,应用outline属性,如下所示:

button:focus {
    outline: 0 !important;
}

但是当我使用none值时,它对我不起作用。

其他回答

给定下面的html:

<button class="btn-without-border"> Submit </button>

在css样式中执行以下操作:

.btn-without-border:focus {
    border: none;
    outline: none;
}

此代码将删除按钮边框,并在单击按钮时禁用按钮边框焦点。

outline属性就是您所需要的。它是在单个声明中设置以下每个属性的简写:

outline-style outline-width 边框色

你可以使用outline: none;,这是公认答案中的建议。如果你想,你也可以说得更具体:

button {
    outline-style: none;
}

正如许多人提到的,selector:focus {outline: none;}将删除该边框,但该边框是一个关键的可访问性特性,允许键盘用户找到按钮,不应该被删除。

由于您关心的似乎是一个美学问题,您应该知道您可以更改轮廓的颜色、样式和宽度,使其更适合您的网站样式。

selector:focus {
  outline-width: 1px;
  outline-style: dashed;
  outline-color: red;
}

速记:

selector:focus {
  outline: 1px dashed red;
}

在使用键盘时,另一种恢复轮廓的方法是使用:focus-visible。但是,这在IE:https://caniuse.com/?search=focus-visible上不起作用。

这对我来说很简单:)

*:focus {
    outline: 0 !important;
}