vue.js 引用背景图 background 无效的3种解决办法

15 篇文章 0 订阅
本文介绍了在Vue.js中遇到背景图无法显示的问题及其解决办法。通过三种不同的引入方式,包括直接使用url、内联样式以及模板语法,并提供了一个错误代码的示例和修正方法。此外,还提及了可能的配置调整,如修改`build/utils.js`中的`ExtractTextPlugin`。文章最后提醒读者,如果使用vue-cli,可能需要调整publicPath。
摘要由CSDN通过智能技术生成

效果图预览:

1. 正确的代码,示例如下:

Html

<template>
  <div class="demo">
    <!-- 成功引入的三种方法: -->
    <!-- 图1 -->
    <div class="img1"></div>
    <!-- 图2 -->
    <div class="img2" :style="{backgroundImage: 'url(' + bg2 + ')' }"></div>
    <!-- 图3 -->
    <img src="~@/../static/images/logo3.png" width="100">
  </div>
</template>

<script>
import Bg2 from '@/../static/images/logo2.png'

export default {
	name: 'App',
	data () {
	    return {
			bg2: Bg2,
	    }
	}
}
</script>

<style>
	.demo{width: 100px;margin: 50px auto;}
	.img1{
	    width: 100px;
		height: 100px;
	    background: url('~@/../static/images/logo1.png') center center no-repeat;
	    background-size: 100px auto;
	}
	.img2{
		width: 100px;
	    height: 100px;
	    background-position: center center;
	    background-repeat:  no-repeat;
	    background-size: 100px auto;
	}
</style>

上述代码中,出现了诸如:~@/和 @/,如果删除后,测试效果也正常,你也可以都去掉,不影响。

2. 错误的代码,截图对比,如下:

报错结果截图如下:

修改为正确代码方法,类比如下:

Html

<div :style="{backgroundImage: 'url(https://cn.vuejs.org/images/logo.png)', width: '400px', height: '400px'}">foo</div>

具体参考官方文档:Class 与 Style 绑定
相比其他方法:
如果你用了vue-cli脚手架,在build/utils.js中找到ExtractTextPlugin位置在对象中加入这句publicPath: '../../'就行了(本人未测试)。

其他未测试到的状况,本文暂不深入发掘,如有发现另类bug,后续将会出博客讨论,欢迎关注分享更多精彩。

以上就是关于“vue.js 引用背景图 background 无效的3种解决办法”的简单介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端劝退师儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值