【前端】CSS实现div双背景图叠加

CSS设置同一个div两个背景图叠加

要在同一个div上叠加两个背景图,你可以使用CSS的多重背景功能。以下是几种实现方法:

方法1:使用background属性

css 复制代码
div {
  background: 
    url('image1.jpg'),
    url('image2.jpg');
  background-repeat: no-repeat;
  background-position: center center;
}

方法2:使用background-image属性

css 复制代码
div {
  background-image: 
    url('image1.jpg'),
    url('image2.jpg');
  background-repeat: no-repeat;
  background-position: 
    center center, /* 第一个图片的位置 */
    right bottom;   /* 第二个图片的位置 */
}

方法3:控制不同背景图的位置和大小

css 复制代码
div {
  background-image: 
    url('image1.jpg'),
    url('image2.jpg');
  background-position: 
    0 0,            /* 第一个图片的位置 */
    50% 50%;        /* 第二个图片的位置 */
  background-size: 
    cover,          /* 第一个图片的大小 */
    200px 200px;    /* 第二个图片的大小 */
  background-repeat: no-repeat;
}

方法4:使用伪元素叠加

css 复制代码
div {
  position: relative;
  background: url('image1.jpg') no-repeat center center;
  background-size: cover;
}

div::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('image2.jpg') no-repeat center center;
  background-size: contain;
  opacity: 0.5; /* 可以调整透明度 */
}

注意事项

  1. 背景图的顺序很重要 - 先列出的图片会显示在上层
  2. 可以使用background-blend-mode属性控制混合模式
  3. 对于复杂叠加效果,伪元素方法提供更多控制
  4. 记得设置适当的background-size和background-position

你可以根据具体需求选择最适合的方法来实现背景图的叠加效果。

相关推荐
计算机魔术师8 分钟前
英伟达要投100亿美元入股Anthropic,史上最大IPO的底牌
前端
yume_sibai1 小时前
02-Flutter进阶开发
前端·flutter
a1117761 小时前
莱茵生命终端 网页 html
前端·开源
水月清辉2 小时前
CSS 常用语法详解
前端·css
Eric_见嘉2 小时前
打开这个 VSC 设置「组件引用位置」和数量就都清楚了
前端·typescript·visual studio code
李高钢2 小时前
Python Tornado 框架入门:从零搭建你的第一个异步 Web 应用
前端·python·tornado
宁风3 小时前
JavaScript:函数体系-1
前端·javascript
mmsx3 小时前
Android 手簿 ADB 无线调试全攻略:USB 转 WiFi 一键连接
android·前端
guwentian3 小时前
Rolldown vs esbuild vs Webpack:Rust 打包器大战我们该怎么选
前端·webpack·rust·esbuild
特立独行的猫A3 小时前
用纯 Rust 重写 Podcastfy:把网页、PDF 和一段文字,变成一档双人对话播客
前端