Html 如何消除“按下按钮”效果并使按钮即使单击也变平

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/31472163/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-29 11:48:10  来源:igfitidea点击:

How to remove 'press button' effect and make button flat even on click

htmlcssbutton

提问by AmirM

I have the button with following styles

我有以下样式的按钮

button {
  background: none;
  border-color: #87db41;
  color: #87db41;
  padding: 5px 5px;
  width: 30%;
  text-align: center;
  &: active {
    border-color: @aviata-color;

  }
}
<button>Subscribe</button>

And I want to remove 'press button' 3D effect. How can I do that? I am using bootstrap also on my site if it helps

我想删除“按下按钮”的 3D 效果。我怎样才能做到这一点?如果有帮助,我也在我的网站上使用引导程序

采纳答案by Julo0sS

Just a suggestion.

只是一个建议。

When you use bootstrap, you can see, in the bootstrap.css code, this :

当您使用 bootstrap 时,您可以在 bootstrap.css 代码中看到:

.btn {
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
          box-shadow: none;
  opacity: .65;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
<button class="btn btn-default">BTN DEFAULT</button>

First part just defines the display properties for all "btn" classes items. The second part defines more specific display settings for "btn-default" items (there is also btn-success btn-warning and so on...).

第一部分只是定义所有“btn”类项目的显示属性。第二部分为“btn-default”项定义了更具体的显示设置(还有btn-success btn-warning 等等...)。

If you want to customize this, just copy the code and change the name as a "btnCustom" and edit settings. OR just add some custom specific btn-* display, like btn-pink, or anything. I often use this to make several buttons color themes, in my projects sometimes I have things like btn-black, btn-purple,...

如果您想自定义它,只需复制代码并将名称更改为“btnCustom”并编辑设置。或者只是添加一些自定义的特定 btn-* 显示,如 btn-pink 或任何东西。我经常用它来制作几个按钮的颜色主题,在我的项目中,有时我会使用 btn-black、btn-purple 之类的东西...

Below code as example of "btnCustom btnCustom-default", a button that will not move, just keep static with bootstrap "default" color theme :

下面的代码作为“btnCustom btnCustom-default”的示例,一个不会移动的按钮,只需使用引导程序“默认”颜色主题保持静态:

.btnCustom {
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}
.btnCustom:hover,
.btnCustom:focus,
.btnCustom.focus {
  text-decoration: none;
}
.btnCustom:active,
.btnCustom.active {
  background-image: none;
}
.btnCustom.disabled,
.btnCustom[disabled],
fieldset[disabled] .btnCustom{
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: .65;
}
a.btnCustom.disabled,
fieldset[disabled] a.btnCustom{
  pointer-events: none;
}
.btnCustom-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btnCustom-default:focus,
.btnCustom-default.focus {
  color: #333;
}
.btnCustom-default:hover {
  color: #333;
}
.btnCustom-default:active,
.btnCustom-default.active,
.open > .dropdown-toggle.btnCustom-default {
  color: #333;
}
.btnCustom-default:active:hover,
.btnCustom-default.active:hover,
.open > .dropdown-toggle.btnCustom-default:hover,
.btnCustom-default:active:focus,
.btnCustom-default.active:focus,
.open > .dropdown-toggle.btnCustom-default:focus,
.btnCustom-default:active.focus,
.btnCustom-default.active.focus,
.open > .dropdown-toggle.btnCustom-default.focus {
  color: #333;
}
.btnCustom-default:active,
.btnCustom-default.active,
.open > .dropdown-toggle.btnCustom-default {
  background-image: none;
}
.btnCustom-default.disabled,
.btnCustom-default[disabled],
fieldset[disabled] .btnCustom-default,
.btnCustom-default.disabled:hover,
.btnCustom-default[disabled]:hover,
fieldset[disabled] .btnCustom-default:hover,
.btnCustom-default.disabled:focus,
.btnCustom-default[disabled]:focus,
fieldset[disabled] .btnCustom-default:focus,
.btnCustom-default.disabled.focus,
.btnCustom-default[disabled].focus,
fieldset[disabled] .btnCustom-default.focus,
.btnCustom-default.disabled:active,
.btnCustom-default[disabled]:active,
fieldset[disabled] .btnCustom-default:active,
.btnCustom-default.disabled.active,
.btnCustom-default[disabled].active,
fieldset[disabled] .btnCustom-default.active {
}
.btnCustom-default .badge {
  color: #fff;
  background-color: #333;
}
<button class="btnCustom btnCustom-default">BTNCUSTOM DEFAULT</button>

This looks kinda complicated, or long. But this allows you to build your own css "bootstrap-like" classes style and it is then reusable easily, save your edits in a "customBootstrap.css" file and add it to your project.

这看起来有点复杂,或者说很长。但这允许您构建自己的 css“类似引导程序”的类样式,然后可以轻松重用,将您的编辑保存在“customBootstrap.css”文件中并将其添加到您的项目中。

Hope this helps ;)

希望这可以帮助 ;)

回答by vp_arth

Use followed CSS rule:

使用遵循的 CSS 规则:

:active { border-style: outset;}

button {
  background: none;
  border-color: #87db41;
  color: #87db41;
  padding: 5px 5px;
  width: 30%;
  text-align: center;
  outline: none;
}
button:active {
  border-style: outset;
}
<button>Subscribe</button>

Also I remove outline from activated button.

我还从激活的按钮中删除了轮廓。

回答by CeeJay

Just set border-styleto solidand include some active/focusstates

只需设置border-stylesolid,包括一些active/focus国家

button {
  background: none;
  border-style: solid;
  border-color: #87db41;
  color: #87db41;
  padding: 5px 5px;
  width: 30%;
  text-align: center;
  &: active {
    border-color: @aviata-color;

  }
}

button.active.focus, button.active:focus,
button.focus, button:active.focus, 
button:active:focus, button:focus {
  outline: none;
  box-shadow: none;
  background-color: white;
}
<button>Subscribe</button>

回答by Joel Almeida

By default buttongets the property -webkit-appearance: buttonor any other depending on the browser.

默认情况下根据浏览器button获取属性-webkit-appearance: button或任何其他属性。

You can reset that style in different ways.

您可以通过不同方式重置该样式。

Using border: none;or even border-style: outset;as it will turn the appearanceinto none.

使用border: none;or even border-style: outset;as 将appearance变成none.

回答by Surendra Singh Rana

if you are using bootstrap then please use bootstrap class btn, btn-primarythen in your css put this code. I hope it will help you.

如果您使用的是引导程序,那么请使用引导程序类btnbtn-primary然后在您的 css 中放置此代码。我希望它会帮助你。

.btn {
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px;
    border-radius: 0px;
    outline: none;
    border: none;

}
.btn:active {
  border-style: outset;
  border: none;
}


<button class="btn btn-primary">Subscribe</button>

回答by Juan Carlos Ibarra

Just add this css line button {outline: none !important;}

只需添加此 css 行 button {outline: none !important;}