css - 将附加类添加到元素时覆盖属性值

标签 css

我一直认为,如果像我这样在前一个属性之后定义一个属性,它会覆盖以前的值。但由于某些原因,在使用 input[type=button] 时情况并非如此。

但是,当将 input[type=button] 更改为 .btn 类时,值会覆盖之前的值,这是为什么呢?有没有不使用 !important 的解决方法?

input[type=button] {
  color: red;
  background-color: transparent;
}

.accent {
  color: white;
  background-color: blue;
}
<input type="button" value="Hello" class="accent">

最佳答案

这是因为 input[type=button] 比类更具体。您可以通过将类添加到 input 来解决此问题。

input[type=button] {
  color: red;
  background-color: transparent;
}

input.accent {
  color: white;
  background-color: blue;
}
<input type="button" value="Hello" class="accent">

关于css - 将附加类添加到元素时覆盖属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46136678/

相关文章:

html - CSS3伪:after horizontal scroll even overflow hidden

javascript - 将自定义 JS 和 CSS 应用于 iframe? (制作第 3 方移动网站)

html - float 为 : left directly below the above on new row 的元素

html - div 中没有文本的底部边框

html - 设置内联元素的宽度

jquery - 附加代码以在播放歌曲时切换图像

javascript - 如何对多个div使用jquery-scrollTo

javascript - CSS 动画最终关键帧中的视口(viewport)单位不会在 Safari 中重新计算

html - 向右浮动不使用与向左浮动相同的底部边距

javascript - 如何在Magento2 CMS中通过元素id将页面主体滚动到特定位置?