vue 如何对 div 标签 设置assets内本地背景图片
在 Vue 中为 <div>
设置 assets
目录下的本地背景图片,需要通过 Webpack 或 Vite 等构建工具 处理路径引用。以下是详细实现方法:
一、项目结构说明
假设你的项目结构如下:
src/assets/images/bg.jpg # 背景图片components/MyComponent.vueApp.vue
二、通过内联样式引用(推荐)
在 <div>
中使用 :style
绑定背景图片,并通过 require()
或 import
引入图片路径。
方法 1:使用 require()
(兼容 Webpack 和 Vite)
<template><div class="bg-div" :style="{ backgroundImage: `url(${require('@/assets/images/bg.jpg')})`,backgroundSize: 'cover',backgroundPosition: 'center'}">内容区域</div>
</template><style scoped>
.bg-div {width: 100%;height: 400px; /* 设置高度以显示背景 */
}
</style>
方法 2:先 import
再绑定(现代打包工具推荐)
<template><div class="bg-div" :style="{ backgroundImage: `url(${bgImage})` }">内容区域</div>
</template><script>
// 引入图片(等价于 require 方式)
import bgImage from '@/assets/images/bg.jpg';export default {data() {return {bgImage // 直接使用导入的路径};}
};
</script><style scoped>
.bg-div {width: 100%;height: 400px;background-repeat: no-repeat;
}
</style>
三、通过 CSS 类引用
在 CSS 中直接声明背景图片路径,构建工具会自动处理路径解析。
方法 1:使用相对路径(推荐)
<template><div class="bg-div">内容区域</div>
</template><style scoped>
.bg-div {width: 100%;height: 400px;/* ~@ 表示 src 目录,是 Vue 约定的别名 */background-image: url(~@/assets/images/bg.jpg); background-size: cover;background-position: center;
}
</style>
方法 2:使用绝对路径(通过 @
别名)
<style scoped>
.bg-div {background-image: url('@/assets/images/bg.jpg'); /* 部分工具需加 ~ */
}
</style>
四、关键细节说明
-
路径别名
@
的含义:@
是 Vue 项目中默认指向src
目录的别名(由vue.config.js
或 Vite 配置定义)。- 路径示例:
@/assets/images/bg.jpg
等价于src/assets/images/bg.jpg
。- 若路径报错,可尝试添加
~
前缀(如~@/assets/...
),表示作为模块解析。
-
图片处理流程:
- 构建工具会将
assets
中的图片复制或打包为静态资源,并生成正确的 URL(如./img/bg.abc123.jpg
)。 - 无需手动复制图片到
public
目录,构建工具会自动处理。
- 构建工具会将
-
动态切换图片:
<template><div :style="{ backgroundImage: `url(${getBgImage()})` }"></div> </template><script> export default {methods: {getBgImage() {// 根据条件返回不同图片路径return this.isLogin ? require('@/assets/login-bg.jpg') : require('@/assets/home-bg.jpg');}} }; </script>
五、常见问题解决方案
1. 图片路径错误(404 问题)
- 原因:路径未正确解析。
- 解决:
- 确保使用
@
别名或require()
/import
引入。 - 检查图片文件是否存在,且路径拼写正确(注意大小写)。
- 确保使用
2. 背景图片不显示
- 原因:容器未设置宽高。
- 解决:
.bg-div {width: 100%;height: 300px; /* 必须设置高度或内容撑开容器 */ }
3. Vue 3 + Vite 环境
- Vite 中
@
别名需手动配置(若未生效):// vite.config.ts import { defineConfig } from 'vite'; import path from 'path';export default defineConfig({resolve: {alias: {'@': path.resolve(__dirname, './src'), // 定义 @ 指向 src 目录},}, });
六、完整示例代码
<template><div class="page-bg"><h1>欢迎来到 Vue 项目</h1></div>
</template><script>
// 导入图片(可选,也可直接在 CSS 中引用)
import bgImg from '@/assets/images/bg.jpg';export default {data() {return {imgPath: bgImg // 可用于动态绑定};}
};
</script><style scoped>
.page-bg {/* 方式 1:CSS 直接引用 */background-image: url(~@/assets/images/bg.jpg);/* 方式 2:通过 data 绑定 *//* background-image: url(${imgPath}); */width: 100vw;height: 100vh;background-size: cover;background-attachment: fixed; /* 背景固定 */display: flex;justify-content: center;align-items: center;color: white;font-size: 24px;
}
</style>
通过以上方法,可轻松在 Vue 中为 <div>
设置 assets
内的本地背景图片,确保构建工具正确处理路径和资源打包。
相关文章:
vue 如何对 div 标签 设置assets内本地背景图片
在 Vue 中为 <div> 设置 assets 目录下的本地背景图片,需要通过 Webpack 或 Vite 等构建工具 处理路径引用。以下是详细实现方法: 一、项目结构说明 假设你的项目结构如下: src/assets/images/bg.jpg # 背景图片components/…...
wsl2 docker重启后没了
参考这篇文章:wsl2 docker重启后没了_mob64ca12f55920的技术博客_51CTO博客...
ubuntu 22.04 配置静态IP、网关、DNS
1、打开配置文件 vi /etc/netplan/00-installer-config.yaml 2、修改文件内容 # This is the network config written by subiquity network:ethernets:ens33:dhcp4: false # 禁用 dhcpaddresses:- 192.168.12.15/24 # 静态IProutes:- to: defaultvia: 192.168.12.254 …...

RDS PostgreSQL手动删除副本集群副本的步骤
由于PostgreSQL不支持直接删除副本集群,而是需要先将副本集群升级到主实例(区域集群),然后在逐一将写入器实例删除,然后才可以删除副本集群 查看现有的主从实例集群 将副本集群提升到区域集群 选择副本集群–>操作–>提升 提升只读副本…...

MySQL 自增主键重置详解:保持 ID 连续性
目录 前言正文 前言 爬虫神器,无代码爬取,就来:bright.cn Java基本知识: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新)…...
Vue Hook Store 设计模式最佳实践指南
Vue Hook Store 设计模式最佳实践指南 一、引言 在 Vue 3 组合式 API 与 TypeScript 普及的背景下,Hook Store 设计模式应运而生,它结合了 Vue 组合式 API 的灵活性与状态管理的最佳实践,为开发者提供了一种轻量级、可测试且易于维护的状态…...

国产化Word处理控件Spire.Doc教程:通过Java简单快速的将 HTML 转换为 PDF
在处理 HTML 文件时,你可能会发现它们在不同的浏览器和屏幕尺寸下的显示效果并不一致。而将 HTML 转换为 PDF 则可以有效地保留其布局和格式,从而确保内容在不同设备和平台上的呈现保持一致。本文将介绍如何在 Spire.Doc for Java 的帮助下通过 Java 将 …...
Spring AI 1.0 GA深度解析与最佳实践
随着人工智能技术的快速发展,Spring AI 1.0 GA 的发布标志着 Spring 生态在 AI 领域迈出了重要一步。本文将从原理、全景架构设计、最佳实践、性能测试对比等维度,全面解析如何基于 Spring AI 构建企业级 AI 应用,并以接入 DeepSeek 大模型为…...
Java求职面试:从Spring到微服务的技术挑战
Java求职面试:从Spring到微服务的技术挑战 在这个故事中,我们将进入一个模拟的互联网大厂Java求职者面试现场。面试官严肃而专业,而求职者谢飞机则以其幽默和捉摸不透的回答,让面试过程充满了趣味。 第一轮:基础框架…...
鸿蒙OSUniApp 开发的图文混排展示组件#三方框架 #Uniapp
使用 UniApp 开发的图文混排展示组件 在移动应用开发中,图文混排展示是资讯、社区、电商、教育等场景中极为常见的需求。一个灵活、美观的图文混排组件,不仅能提升内容的可读性,还能增强用户的视觉体验。随着 HarmonyOS(鸿蒙&…...
WHAT - 学习 WebSocket 实时 Web 开发
文章目录 一、基础知识了解1. WebSocket 是什么?2. 它的优势: 二、基本工作流程三、快速体验:使用原生 WebSocket客户端(浏览器端 JS):服务端(Node.js 示例,使用 ws 库) …...

5G NTN卫星通信发展现状(截止2025年3月)
今天咱们用实实在在的数据唠唠卫星通信这事儿—这些数字可比科幻片还刺激,直接告诉你这玩意儿现在有多火,未来能有多野! 先甩个大数字:截至2025年3月,全球已经有143个运营商和卫星厂商的合作项目,覆盖53个国…...

【计算机网络】第2章:应用层—DNS
目录 一、PPT 二、总结 DNS(域名系统)详解 (一)DNS核心概念 (二)DNS查询过程(重点❗) (三)DNS资源记录(RR)类型…...

[Linux]虚拟地址到物理地址的转化
[Linux]虚拟地址到物理地址的转化 水墨不写bug 文章目录 一、再次认识地址空间二、页表1、页表的结构设计2、页表节省了空间,省在哪里?3、页表的物理实现 一、再次认识地址空间 OS和磁盘交互的内存基本单位是4KB,这4KB通常被称为内存块。OS对…...

Linux线程入门
目录 Linux线程概念 什么是线程 重新理解进程 线程的优点 线程的缺点 线程的异常 线程用途 Linux线程概念 什么是线程 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”。一切进程至…...

Kubernetes超详细教程,一篇文章帮助你从零开始学习k8s,从入门到实战
k8s 概述 k8s github地址:https://github.com/kubernetes/kubernetes 官方文档:https://kubernetes.io/zh-cn/docs/home/ k8s,全程是 kubernetes,这个名字源于希腊语,意为"舵手"或"飞行员” k8s 这…...
Docker基础 -- Ubuntu 22.04 AArch64 交叉编译 Docker 镜像构建指南
Ubuntu 22.04 AArch64 交叉编译 Docker 镜像构建指南 作者: (填写作者) 发布日期: 2025‑05‑26 1 背景与目标 在企业内网(需要代理)环境下,我们需要一套可靠、可复用的 Ubuntu 22.04 交叉编…...
【Elasticsearch】使用脚本删除索引中的某个字段
在 Elasticsearch 中,删除索引中的某个字段可以通过以下几种方式实现,具体取决于你的需求和场景。以下是几种常见的方法: 方法 1:使用 _update_by_query API 删除字段 _update_by_query API 可以对索引中的文档执行批量更新操作&…...

OpenHarmony平台驱动使用(二),CLOCK
OpenHarmony平台驱动使用(二) CLOCK 概述 功能简介 CLOCK,时钟是系统各个部件运行的基础,以CPU时钟举例,CPU 时钟是指 CPU 内部的时钟发生器,它以频率的形式工作,用来同步和控制 CPU 内部的各…...

我们是如何为 ES|QL 重建自动补全功能的
作者:来自 Elastic Drew Tate Elasticsearch 拥有许多新功能,可以帮助你根据使用场景构建最佳搜索方案。浏览我们的示例笔记本了解更多内容,开始免费试用云服务,或者立即在本地机器上尝试 Elastic。 对于我们开发者来说࿰…...
Keepalived 配置 VIP 的核心步骤
Keepalived 配置 VIP 的核心步骤主要涉及安装软件、主备节点配置及服务管理。以下是具体操作指南: 一、安装 Keepalived Ubuntu/Debian 系统 sudo apt update sudo apt install keepalived CentOS/RHEL 系统 sudo yum install keepalived 注:需确保已配置 EPE…...
如何使用 Redis 快速实现排行榜?
Redis 的 Sorted Set(有序集合) 是实现排行榜的高效工具,其天然支持按分数排序、范围查询和原子操作。以下是快速实现排行榜的步骤和核心方案: 一、核心数据结构:Sorted Set 特性: 每个成员(me…...

MATLAB在逐渐被Python淘汰吗
MATLAB在学术研究、工程仿真、数值计算等传统领域仍占据一席之地,但Python因其开源免费、生态丰富、易于集成的优势,正在快速崛起,逐步蚕食MATLAB的市场份额。尤其在人工智能、数据分析和科学计算等领域,Python的优势愈发明显。例…...

Git 使用规范
Git 使用规范 一、版本控制的核心原则 🧭二、分支策略(Branch Strategy) 🌿2.1 分支类型与命名规范2.2 可视化流程图 三、提交信息规范(Commit Message)✍️3.1 提交格式3.2 Type 类型说明 四、Tag 版本规范…...

代码随想录第43天:图论4(最小生成树、拓扑排序)
一、冗余的边II(Kamacoder 109) from collections import defaultdict# 并查集 - 查找根节点(路径压缩) def find(fa, x):if fa[x] ! x:fa[x] find(fa, fa[x])return fa[x]# 并查集 - 合并两个集合,返回是否合并成功 …...

AI智能体|扣子(Coze)搭建【自动生成超高质量PPT】工作流
各位好久不见,你的失踪人口又回来了,已经超过一周的时间没有进行文章的更新了。 没更新的这段时间,主要还是因为工作上的调整以及身体生病所导致的停更,具体以后再说。 我们先讲今天的主要主题,使用 Coze 智能体一键生…...
list.sort(*, key=None, reverse=False)的两个问题
在python官网中,5.1. More on Lists,list.sort()是关于排序的方法。 list.sort(*, keyNone, reverseFalse) 中有两个问题: * 是什么意思key有什么作用 * 是什么意思 * 表示后面必须是关键字参数,具体见python官网4…...

文档处理的相关工具
目前网页端的文档,可以通过沉浸式翻译来进行翻译阅读和学习。 但是某些文献只有pdf下载的版本,所以需要一个免费的针对pdf的翻译工具。 保留公式和图片格式。 推荐一个pdf翻译的工具,可以自己部署使用。如果需要word版本,后面讨论…...

java基础(面向对象进阶高级)内部类
内部类 内部类概述、成员内部类 (了解) 内部类创建对象: 一定要继承外部类对象,才能创建内部类对象。 拓展:成员内部类访问外部类的成员特点: 成员内部类中,是否可以直接访问外部类的实例成员?? 当然可以啊&#x…...

使用Python,OpenCV,Tesseract-OCR对自己的运动数据图片进行识别及分析,并使用Matplotlib绘制配速图出来
使用Python,OpenCV,Tesseract-OCR对自己的运动数据图片进行识别及分析,并使用Matplotlib绘制配速图出来 1. 效果图2. 源码3. 全量源码及运动图片资源参考主要分为 目录下图片解析及读取;拼九宫格图片出来,可以自由配置(m*n)取决于自己有多少张运动图片遍历图片并进行运动…...