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

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

相关推荐
David凉宸几秒前
vue2与vue3的差异在哪里?
前端·javascript·vue.js
笔画人生5 分钟前
Cursor + 蓝耘API:用自然语言完成全栈项目开发
前端·后端
AC赳赳老秦20 分钟前
外文文献精读:DeepSeek翻译并解析顶会论文核心技术要点
前端·flutter·zookeeper·自动化·rabbitmq·prometheus·deepseek
小宇的天下28 分钟前
Calibre 3Dstack --每日一个命令day18【floating_trace】(3-18)
服务器·前端·数据库
毕设源码-钟学长34 分钟前
【开题答辩全过程】以 基于web技术的酒店信息管理系统设计与实现-为例,包含答辩的问题和答案
前端
css趣多多42 分钟前
this.$watch
前端·javascript·vue.js
干前端1 小时前
Vue3虚拟滚动列表组件进阶:不定高度及原理分析!!!
前端·前端组件
雨季6661 小时前
Flutter 三端应用实战:OpenHarmony “极简文本行数统计器”
开发语言·前端·flutter·ui·交互
MAHATMA玛哈特科技1 小时前
以曲求直:校平技术中的反直觉哲学
前端·数据库·制造·校平机·矫平机·液压矫平机
C澒1 小时前
前端技术核心领域与实践方向
前端·系统架构