Vue项目中使用img图片和background背景图的使用方法

139 篇文章 7 订阅

 

⭐️  作者:船长在船上
🚩 主页:来访地址船长在船上的博客
🔨  简介:高级前端开发工程师,专注前端开发,欢迎咨询交流,共同学习!

 

🔔  感谢:如果觉得博主的文章不错或者对你的工作有帮助或者解决了你的问题,可以关注、支持一下博主,如果三连收藏支持就会更好,在这里博主不胜感激!!!如有疑问可以留言、评论,看到后会及时回复。  
 

6e8d7d67ae5e4cbaa33bd690699316e6.png

 

目录

css方法

import方法

require方法


 

 

css方法

正常使用background属性即可,如有问题,应把图片资源放入static静态资源文件夹,不是assets之类的其他文件夹。

<div class="imgSrc"></div>
<style>
.imgSrc{
    background-image:url("@/../static/images/bg.png")
}
</style>

import方法

使用import导入背景图片

import imgSrc from "@/../static/images/bg.png"
export default {
    data () {
        return {
            imgSrc: imgSrc,
        }
    }
}

使用内联样式

<div :style="{backgroundImage:'url('+imgSrc+')'}"></div>

require方法

使用require获取图片

export default {
    data () {
        return {
            imgSrc: require("@/../static/images/bg.png"),
        }
    }
}

赋值为imgsrc

<img :src="imgSrc" />

 

 

扩展:

Class 与 Style 绑定

操作元素的 class 列表和内联样式是数据绑定的一个常见需求。所以可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可。不过,字符串拼接麻烦且易错。因此,在将 v-bind 用于 class 和 style 时,Vue.js 做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。

可以传给 :class (v-bind:class 的简写) 一个对象,以动态地切换 class:

<div :class="{ active: isActive }"></div>

你可以在对象中传入更多字段来动态切换多个 class。此外,:class 指令也可以与普通的 class attribute 共存。当有如下模板:

<div
  class="static"
  :class="{ active: isActive, 'text-danger': hasError }"
></div>

 和如下 data:

data() {
  return {
    isActive: true,
    hasError: false
  }
}

渲染的结果为:

<div class="static active"></div>

数组语法

我们可以把一个数组传给 :class,以应用一个 class 列表:

<div :class="[activeClass, errorClass]"></div>
data() {
  return {
    activeClass: 'active',
    errorClass: 'text-danger'
  }
}

 

 如果你想根据条件切换列表中的 class,可以使用三元表达式:

<div :class="[isActive ? activeClass : '', errorClass]"></div>

绑定内联样式

对象语法:

:style 的对象语法十分直观——看着非常像 CSS,但其实是一个 JavaScript 对象。CSS property 名可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case,记得用引号括起来) 来命名:

<div :style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
data() {
  return {
    activeColor: 'red',
    fontSize: 30
  }
}

直接绑定到一个样式对象通常更好,这会让模板更清晰:

<div :style="styleObject"></div>
data() {
  return {
    styleObject: {
      color: 'red',
      fontSize: '13px'
    }
  }
}

数组语法

:style 的数组语法可以将多个样式对象应用到同一个元素上:

<div :style="[baseStyles, overridingStyles]"></div>

 

 

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

船长在船上

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

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

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

打赏作者

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

抵扣说明:

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

余额充值