为基础中的所有按钮设置 .button class

Set .button class for all buttons in foundation

是否可以为所有 html 按钮设置默认 .button class?

Foundation 只有 class .button 按钮的样式,但在我的应用程序中有很多按钮,所以也许我可以为所有按钮设置样式而不添加 .button class。

a) 您可以编辑 css/sass 文件并将样式直接应用于 button 而不是 .button,尽管这可能会导致特异性问题。

b) 如果您使用的是 scss/sass 版本的框架,您可以使用 extends 属性。这将意味着所有 button 元素继承 .button class

的样式
button {
  @extend .button;
}

您可以在此处获取 sass 版本:http://foundation.zurb.com/sites/docs/sass.html

`@extend 属性 的详细信息可以在这里找到:http://sass-lang.com/guide

c) 或者,您可以 运行 一些 javascript 将 class 添加到所有按钮。

事实是,我认为实际添加 classes 会更不理想,但我认为这不是一个选项是有充分理由的。

这是一个 jquery 将 classes 添加到按钮的示例

$(document).ready(function() {
  $('button').addClass("button");
});
.button {
  background: steelblue;
  color: #fff;
  /* foundation button styles */
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<button>Im a button</button>

您有 2 个选择:

1) Sass 语义化。 @Brad 指着它。

使用 sass 为您的按钮制作语义标记,如下例所示:

http://www.sassmeister.com/gist/b038198f6e0049b8bc3bb1c19231aed0

2) 复制计算样式:

像这样:

.custom-button-class {
  border-style: solid;
  border-width: 0px;
  cursor: pointer;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-decoration: none;
  text-align: center;
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  display: inline-block;
  padding-top: 1rem;
  padding-right: 2rem;
  padding-bottom: 1.0625rem;
  padding-left: 2rem;
  font-size: 1rem;
  background-color: #008CBA;
  border-color: #007095;
  color: #FFFFFF;
  -webkit-transition: background-color 300ms ease-out;
          transition: background-color 300ms ease-out;
}
.custom-button-class:hover, .custom-button-class:focus {
  background-color: #007095;
}
.custom-button-class:hover, .custom-button-class:focus {
  color: #FFFFFF;
}

input[type="button"] {
  border-style: solid;
  border-width: 0px;
  cursor: pointer;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-decoration: none;
  text-align: center;
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  display: inline-block;
  padding-top: 1rem;
  padding-right: 2rem;
  padding-bottom: 1.0625rem;
  padding-left: 2rem;
  font-size: 1rem;
  background-color: #008CBA;
  border-color: #007095;
  color: #FFFFFF;
  -webkit-transition: background-color 300ms ease-out;
          transition: background-color 300ms ease-out;
}
input[type="button"]:hover, input[type="button"]:focus {
  background-color: #007095;
}
input[type="button"]:hover, input[type="button"]:focus {
  color: #FFFFFF;
}
<a class="custom-button-class" href="">hola</a>

<button>hello</button>

<input type="button" value="foundation class button">