css - 将背景图像属性合并到单个 CSS 规则中但不指定背景颜色?

标签 css

我希望具有类的元素始终具有相同的背景颜色。根据天气,它有一个额外的类,它的背景图像会改变。

这很好用,但是必须为不同的背景属性制定单独的规则有点困惑:

.class { 
  background-color: grey;
  background-image: url("image1.jpg");
  background-repeat: no-repeat;
  background-position: right center;
}

.class.additional { 
  background-image:  url("image2.jpg"); 
}

这行得通,但我不得不重复“灰色”,这对于长期维护代码来说并不理想:

.class {
  background: grey url("image1.jpg") no-repeat right center;
}

.class.additional {
  background: grey url("image2.jpg") no-repeat right center;
}

有没有一种方法可以将所有背景属性写在一行中,而不是为两种样式重复背景颜色?

最佳答案

您可以在第一条规则中指定简写,而在第二条规则中仅覆盖 background-image:

.class { 
  background: grey url("image1.jpg") no-repeat right center;
}

.class.additional { 
  background-image: url("image2.jpg"); 
}

关于css - 将背景图像属性合并到单个 CSS 规则中但不指定背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23649907/

相关文章:

html - 初学者,如何在与 HTML 文件不同的文件中添加 CSS?

javascript - 过滤html表格(JS)

css - 图像大小相同 - 比例缩放

html - 使 div 100% 浏览器高度

javascript - 如何向下滚动到动态添加的 ul 中的最后一个 li 项?

css - CSS类的奇怪问题

html - 调整浏览器窗口大小时内容消失

css - 如何在 Canvas /div 的 4 个 Angular 中的每一个中 float 可点击的图像元素?

jquery - 将与父 div 相同的宽度应用于子 div

javascript - Scroll Snap for div 看起来像 HTML 中的 iPhone