5 回答
TA贡献1806条经验 获得超8个赞
需要在url标签内容周围添加一组额外的括号:
computed: {
heroImage() {
return {
backgroundImage: `url(${require('../assets/images/HeroImg.jpg')})`
};
}
}
TA贡献1921条经验 获得超9个赞
当您使用相对路径时,如果在内联属性中找到它们,Webpack 将无法正确解析它们style。但是,如果直接将图像路径用作<img>模板中的元素源,Webpack 可以正确解析图像路径。因此,使用解析的图像路径作为 CSS 属性的解决方案是简单地将其作为计算属性引用。
在模板中,您可以用来v-bind:style="heroImage"引用计算属性:
<template>
<div id="app">
<div v-bind:style="heroImage">
Content without background image
</div>
</div>
</template>
然后,在您的 VueJS 组件本身中,您可以执行以下操作:
computed: {
heroImage() {
return {
backgroundImage: `url${require('../assets/images/HeroImg.jpg')}`
};
}
}
TA贡献1865条经验 获得超7个赞
您应该用引号将它们括起来。
从MDN来看,我们需要将图像的路径或 url 包装成
背景图像:url(“../../media/examples/lizard.png”);
<div style="background-image: url(../assets/images/HeroImg.jpg)"> Content goes here</div>
建议:
最好避免使用内联样式。您可以将样式包含在外部工作表中。
TA贡献1828条经验 获得超4个赞
像这样在 css 文件中尝试
background-image: url('~src/assets/home-page-img/header-bg.jpg');
TA贡献1847条经验 获得超11个赞
html
<div class="yourDivClass">
Content goes here
</div>
CSS
.yourDivClass {
background: url('../assets/images/HeroImg.jpg') no-repeat center center / cover
}
- 5 回答
- 0 关注
- 168 浏览
添加回答
举报