html - 如何创建具有来自多个 CSS 类的多个背景图像的元素?

标签 html css background-image

CSS 允许元素通过 background-image: url("first.png"), url("second.png"), url("third.png") 拥有多个背景图片

header {
  background-image: url("header.png");
}

.with-foo {
  background-image: url("with-foo.png");
}

.with-bar {
  background-image: url("with-bar.png");
}

.with-foobar {
  background-image: url("with-foobar.png");
}
<header class="with-foo with-bar with-foobar">
  ...
</header>

在上面的代码中,标题将具有背景图像 with-foobar.png 因为样式会覆盖之前的其他语句。

是否可以仅使用 CSS 向 background-image 属性添加图像,还是我必须使用 JavaScript 解决方案?

最佳答案

不,因为即使可以,您将如何指定哪些图像应该放在较高位置,哪些应该放在较低位置?你不能通过重新排列类名来做到这一点,因为类属性没有顺序的概念(即使有,级联仍然是你的敌人,正如你所展示的那样)。

由于除了在单个 background-image 声明中之外没有其他方法可以指定哪些图像应该放在更高或更低的位置,因此您不得不在满了。

另一种方法是为每个类名和每个背景图像设置一个专用元素,但除非您不关心语义(根据您对 header 的使用判断,语义可能不是例),这是一个糟糕的选项。

关于html - 如何创建具有来自多个 CSS 类的多个背景图像的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39765744/

相关文章:

html - 防弹背景 MSO 扭曲 Outlook 的电子邮件布局

javascript - 使用javascript在页面加载时加载css隐藏图像作为背景图像

css - 将背景图像数据作为 Base64 嵌入到 CSS 中是好事还是坏事?

javascript - 单击时显示下拉菜单

javascript - 顺风 CSS 导航栏

html - Flexbox 布局模式 1/3

jquery - 情商选择器不工作

html - IE 和 chrome 的行高不同

html - 如何停止我的列表与标题图片重叠?

android - WebView - 打断长词