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

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

相关推荐
BillKu2 分钟前
Vue3 + Element Plus 中修改表格当前选中行的颜色
前端·vue.js·elementui
BillKu30 分钟前
Axios中POST、PUT、PATCH用法区别
前端·vue.js
好奇的菜鸟2 小时前
掌握 npm 核心操作:从安装到管理依赖的完整指南
前端·npm·node.js
肥肠可耐的西西公主3 小时前
前端(小程序)学习笔记(CLASS 2):WXML模板语法与WXSS模板样式
前端·学习·小程序
逆袭的菜鸟X4 小时前
RxJS 高阶映射操作符详解:map、mergeMap 和 switchMap
前端
bubiyoushang8884 小时前
HTML5的新语义化标签
前端·html·html5
会飞的鱼先生4 小时前
vue3自定义指令来实现 v-copy 功能
前端·javascript·vue.js
Alice-YUE4 小时前
【CSS学习笔记1】css基础知识介绍
css·学习笔记
陈天伟教授5 小时前
Web前端开发 - 制作简单的焦点图效果
java·开发语言·前端·前端开发·visual studio
_殊途5 小时前
前端三件套之html详解
前端·html