vue.js引用背景圖background無效的3種解決方案
#vue.js項目中,出現(xiàn)css調(diào)用background背景圖無效?如何解決?
或者調(diào)用<img>標簽,也無效果?
直接上代碼,自行對比查找一下:
效果圖預覽

1. 正確的代碼,示例如下
<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>
上述代碼中,出現(xiàn)了諸如:~@/和 @/,如果刪除后,測試效果也正常,你也可以都去掉,不影響。
2. 錯誤的代碼,截圖對比
如下:

報錯結果截圖如下:

修改為正確代碼方法,類比如下:
<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: '../../'就行了(本人未測試)。
其他未測試到的狀況,本文暫不深入發(fā)掘,如有發(fā)現(xiàn)另類bug,后續(xù)將會補充。
vue添加背景圖沒反應
table需要添加背景圖,添加backgroundImage后發(fā)現(xiàn)不起作用,于是網(wǎng)上一番搜索,發(fā)現(xiàn)加了require后就好了
backgroundImage: ‘url(’ + require(‘圖片地址’) + ‘)’,原來vue中的js引入圖片,必須require進來。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
在vue項目中promise解決回調(diào)地獄和并發(fā)請求的問題
這篇文章主要介紹了在vue項目中promise解決回調(diào)地獄和并發(fā)請求的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
vue如何使用router.meta.keepAlive對頁面進行緩存
這篇文章主要介紹了vue如何使用router.meta.keepAlive對頁面進行緩存問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
Vue項目如何保持用戶登錄狀態(tài)(localStorage+vuex刷新頁面后狀態(tài)依然保持)
關于vue登錄注冊,并保持登錄狀態(tài),是vue玩家必經(jīng)之路,這篇文章主要給大家介紹了關于Vue項目如何保持用戶登錄狀態(tài)的相關資料,localStorage+vuex刷新頁面后狀態(tài)依然保持,需要的朋友可以參考下2022-05-05

