CSS - 来自不同规则的多个背景图像

标签 css background-image

我知道我可以通过在一条语句中声明它们来将多个叠加的背景图像添加到一个元素,如下所示:

.background1.background2{
    background-image: url(background1.png), url(background2.png);
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
    backgroun-size: 100%, 50%
}

但是,如果我尝试通过多个规则这样做,例如:

.background1{
    background-image: url(background1.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
}

.background2{
    background-image: url(background2.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50%;
}

然后第二个规则覆盖第一个。有没有一种方法可以通过不同的规则将多个背景图像添加到一个元素,而不会一个覆盖另一个?

我可以通过绝对定位的 div 实现相同的效果,但如果可能的话,我认为通过 css 来实现会更优雅。

最佳答案

您的 css 规则冲突,在这种情况下,它落在文件中的位置,后一条规则优先。要解决这个问题,您需要提高选择器的特异性并使用组合的 background-url 属性编写规则。

这正是您在第一个片段中所拥有的,所以这是“正确的”。如果你想在多个选择器中这样做,那是不可能的

关于CSS - 来自不同规则的多个背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24957754/

相关文章:

CSS 在页面的某些区域不起作用?

html - CSS - 为什么我的跨度需要 float 来显示具有固定宽度和高度的图像?

ios - Xamarin.Forms 和 iOS : how to combine UseSafeArea and a background image?

html - 如何将 div 的背景图像设置为两个对 Angular 线分隔的图像?

javascript - 使用 Javascript 的随机背景图片

html - 具有背景大小的 DIV

html - IE 以不同于 FF/Chrome 的方式呈现内联 block div

html - CSS - self 对齐问题

jquery - 几个问题(弹跳,对齐)

html - 在小屏幕上放大背景图像?