当前位置: 首页 > 知识库问答 >
问题:

如何为本地文件设置背景图像url?

温源
2023-03-14

我想粘贴一个相对图像url到一个div设置为背景图像。不幸的是,div不会呈现图像。因此,这工作良好,并呈现图像

<img src="../assets/images/HeroImg.jpg">

但这个不是

<div style="background-image: url(../assets/images/HeroImg.jpg)">
    Content goes here
</div>

我也尝试过的事情:

  • 在单引号中包装url
  • 资产/images/heroimg.jpg可能吗?
  • ./assets/images/heroimg.jpg从src文件夹开始
  • images/heroimg.jpg./images/heroimg.jpg从“资源”文件夹开始

背景图像的正确url是什么?

更新

我在用VueJs所以这里的情况可能会有所不同?再现的步骤:

  • 使用Vue CLI创建新项目
  • src/assets
  • 中创建 images目录
  • src/assets/images中创建映像,并将其称为heroimg
  • 使用
  • 更新app.vue文件

.

<template>
  <div id="app">
    <div>
      This works:
    </div>
    <div>
      <img src="./assets/images/HeroImg.jpg">
    </div>
    <div>
      This doesn't work:
    </div>
    <div style="background-image: url('./assets/images/HeroImg.jpg')">
        Content without background image
    </div>
  </div>
</template>

您将看到img标记呈现的是图像,而不是带有背景图像的div。

共有1个答案

纪秋月
2023-03-14

当您使用相对路径时,如果在内联style属性中发现它们,Webpack将无法正确解析它们。但是,如果直接将图像路径用作模板中的元素源,则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')}`
    };
  }
}
 类似资料:
  • 我有一个像素。我如何使用它来获得与具有相同的效果?

  • 我试图将图像作为JavaFX场景中的背景,但我的代码不起作用。 我试图在java eclipse中制作一个战舰游戏程序,但我遇到了一个图形问题。 当我第一次尝试运行它时,它工作了,一个新的窗口打开了,中间有一个按钮,但bakcground是空白的。当我尝试在窗口中设置一个图像作为背景时,按下“开始”按钮,什么也没有发生…

  • 我正试图为主页设置一个背景图像。我是从屏幕开始获得图像位置,填充宽度,但不是高度。我的代码中是否遗漏了什么?颤振有图像标准吗?图像缩放是否基于每个手机的屏幕分辨率?

  • 我需要为画家小部件设置一个背景图像,因为我试图建立一个小部件,将帮助孩子们画数字和字母在我的背景图像。 这将是默认的小部件背景: 加载小部件后,孩子们应该能够绘制背景。 我曾试图修改脚手架的主体从官方画家插件示例,但图像不出现在画家的背景,它只显示空白屏幕。 是否可以为Painter小部件设置背景图像?如果没有,有没有其他的解决办法可以帮助我完成我的任务?

  • 我试图设置一个屏幕的背景图像,占屏幕的25%左右,位于顶部。我试过了,

  • 问题内容: 我在运行时的内存中有一个位图。我想将文本视图的背景设置为此位图。我无法为此找到任何标准程序(不是很麻烦的程序)。如果有人在这方面工作过,请帮忙! 问题答案: 根据API文档,setBackgroundResource需要一个int值。 如果确实需要位图,则可以使用setBackgroundDrawable代替,并将位图包装在BitmapDrawable中。例