vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue style设置背景图片的相对路径无效

vue style属性设置背景图片的相对路径无效的解决

作者:南为爱编程

这篇文章主要介绍了vue style属性设置背景图片的相对路径无效的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue style设置背景图片的相对路径无效

<div style="background-image: url(./assets/bj.jpeg);"></div>

以上的代码,在style属性中使用了相对路径,在页面元素上的内容d也没有问题。 

但是,背景图片依旧没有出来,甚至报错。

很明显是路径有问题,当然了编写的路径肯定是没问题,但是编译后的文件可就不一定了。

那我们想在style属性中设置背景图片怎么办? 

解决一、 使用绝对路径

<div style="background-image: url(/src/assets/bj.jpeg);"></div>

解决二、使用Import + 动态style

<template>
    <div :style="{backgroundImage: 'url('+ bj +')'}"></div>
</template>
 
<script setup>
import bj from './assets/bj.jpeg';
console.log(bj);
</script>
 
<style>
div {
    width: 100%;
    min-height: 500px;
    background-color: aqua;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
</style>

 本质上,它使用的依然是绝对路径:

样式中@设置背景照片无效的原因

1.在项目中,@是我们在vue.config.js中设置的一个路径别名,指定src跟目录,很方便查询文件

2.但是如果在样式中使用@别名时,如果无效,需要在@前面加一个~符合hi可以解决

3.一个单文件组件中,样式如果只是在当前组件使用,则可以写到标注了scoped的区域 <style lang="scss"></style>,如果不加scoped,则会变成全局,而不是当前组件

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文