如何在没有 !important 的情况下使用不同的 类 覆盖 css

How to overwrite css using different classes without !important

在我的代码中,我的所有按钮都有一个通用表单:

input[type="button"],put[type="button"]:active,input[type="button"]:hover {
    width: 172px;
    height: 37px;
    line-height: 2 !important;
    margin: 11px 0px 0px 0px;
    padding: 5px 150px 9px 5px;
    line-height: 19px;
    font-size: 12px;
}

但是系统中的某些按钮的宽度是通用按钮的一半或三分之一。所以他们仍然是类型按钮并收到上面的 css 但我只想更改宽度并让它看起来像这样而不使用 !important.

.thirdButton, .thirdButton:active {
    width: 28px;
    padding: 0;
    background-position-x: 50%;
}

您需要编辑当前的 class 并将其更改为您想要的方式,如果您想保持当前的 class 不变,请创建一个新的 class

如果您有一个 css class 名称相同,则页面下方的内容将优先,ID 优先于 classes 并且 !important 优先于所有内容.

如果您有 2 个 !importants,同样,页面下方的内容将优先

您可以为 CSS 添加更多特异性,以非常精确地定位该类型的元素并增强该选择器的功能。喜欢input[type="button"].thirdButton{...} 看下面的演示:

input[type="button"],
input[type="button"]:active,
input[type="button"]:hover {
  width: 172px;
  height: 37px;
  line-height: 2 !important;
  margin: 11px 0px 0px 0px;
  padding: 5px 150px 9px 5px;
  line-height: 19px;
  font-size: 12px;
}

/* this is the selector line to change */
input[type="button"].thirdButton, input[type="button"].thirdButton:hover,     
input[type="button"].thirdButton:active {
  width: 50px;
  padding: 0;
  background-position-x: 50%;
}
<input type="button" name="generic" value="generic" /><br/>
<input type="button" name="third" value="third" class="thirdButton" />