VUE中图片和背景图引用(img和background-image)

本文详细介绍了在VUE项目中如何正确加载图片和背景图,包括三种不同的加载方式,以及在不同路径设置下如何避免图片加载失败的问题。
该文章已生成可运行项目,

VUE中图片和背景图引用(img和background-image)

一、背景图引入

1.第一种方式

<div class="bgimg"></div>
.bgimg{
    width: 150px;
    height: 60px;
    /*以下两种路径方式都可以*/
    /*background-image: url('../../../../assets/images/logo.png');*/
    background-image: url('~@/assets/images/logo.png');
    background-size: cover
  }

2.第二种方式

<div :style="{backgroundImage: 'url(' + require('@/assets/images/logo.png') + ')' }"></div>

3.第三种方式

<div :style="{backgroundImage: 'url(' + imgData + ')' }"></div>
<script>
import logo from '@/assets/images/logo.png'
export default {
  data() {
    return {
      imgData: logo 
    }
  }
}
</script>

问题分析

	<div style="background-image: url('../../../../assets/images/logo.png');"></div>
  <!--直接使用上面这种内联样式:style="background-image: url('../../../../assets/images/logo.png')的方式引入背景图时,
    由于url('../../../../assets/images/logo.png')中的静态路径不会被编译处理,所以在项目运行起来或者项目打包编译之后,
    按照此处../../../../assets/images/logo.png路径无法找到图片。
    如果图片放在static路径下,则可以直接这样引入,引入static下的文件不会被打包编译"-->
    <div style="background-image: url('static/logo.png');"></div>
二、img引入图片
 	<!--第一种-->
    <img src="~@/assets/images/logo.png" alt="">
    <img src="../../../../assets/images/logo.png" alt="">
    <!--第二种-->
    <img :src="imgData" alt="">
    <!--第三种-->
    <img :src="require('../../../../assets/images/logo.png')" alt="">
本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值