【前端】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

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

相关推荐
mCell5 小时前
GSAP ScrollTrigger 详解
前端·javascript·动效
gnip5 小时前
Node.js 子进程:child_process
前端·javascript
excel8 小时前
为什么在 Three.js 中平面能产生“起伏效果”?
前端
excel9 小时前
Node.js 断言与测试框架示例对比
前端
天蓝色的鱼鱼10 小时前
前端开发者的组件设计之痛:为什么我的组件总是难以维护?
前端·react.js
codingandsleeping10 小时前
使用orval自动拉取swagger文档并生成ts接口
前端·javascript
石金龙11 小时前
[译] Composition in CSS
前端·css
白水清风11 小时前
微前端学习记录(qiankun、wujie、micro-app)
前端·javascript·前端工程化
Ticnix12 小时前
函数封装实现Echarts多表渲染/叠加渲染
前端·echarts
用户221520442780012 小时前
new、原型和原型链浅析
前端·javascript