动态获取assets路径下的图片出现显示一半的情况,有时候会出现这种情况
<div class="ele-notice-item-icon"
:style="`background: url(${getMsgImg(item.msgClass)}) no-repeat 100% 100%;`"></div>
getMsgImg(type) {
return require('@/assets/img/common/msg/' + type + '.png');
},
设置background-size
即可,(设置下background-repeat
更佳)
.ele-notice-item-icon{
background-size: contain;
background-repeat: no-repeat;
}
在 Vue 2 中,当你使用 require
函数来动态加载图片时,通常这种方式是用于 webpack 打包时的静态资源引用。然而,直接在模板或计算属性中使用 require
函数可能会遇到一些问题,特别是当资源路径是动态生成的时候。这是因为 webpack 在编译时需要确定所有的依赖,而动态路径可能会导致 webpack 无法正确解析这些依赖。
对于你遇到的问题,图片加载显示不全,可能的原因包括:
background: url(...) no-repeat 100% 100%;
,这里的 100% 100%
指的是背景图片被拉伸至元素的大小。如果图片本身的宽高比与元素不匹配,图片可能会被拉伸变形。此外,如果图片加载较慢,初始时可能只显示了图片的一部分。你可以尝试使用 Vue 的生命周期钩子或异步方法来确保图片完全加载后再设置样式。但是,对于背景图片来说,这种方法可能不太直接。
在组件的 mounted
钩子中预加载图片,确保图片在 DOM 更新前已经加载完成。
background-size: cover;
而不是 100% 100%
,这样图片会覆盖整个元素区域,但会保持其宽高比,可能部分区域会不可见(被裁剪)。background-size: contain;
来确保图片完全可见,但可能不会覆盖整个元素区域。如果你确实需要在模板中动态地引用图片,并且希望 webpack 能够处理这些动态引用,你可能需要考虑使用 require.context
或其他 webpack 插件来生成动态模块依赖。但是,这种方法比较复杂,通常用于需要动态加载大量相似资源(如图片、字体等)的场景。
src
属性(如果适用)如果可能的话,考虑将背景图片改为 <img>
标签的 src
属性,这样可以更直接地控制图片的加载和显示。
<div class="ele-notice-item-icon"
:style="`background: url(${getMsgImg(item.msgClass)}) no-repeat; background-size: cover;`"></div>
使用 background-size: cover;
来确保图片覆盖整个元素,但请注意,这可能会裁剪图片的某些部分以适应元素大小。
前端vue2 使用three.js 创建的 3D 场景,为什么部署之后图片颜色不正常 第一张是部署在服务器上的展示样式截图,第二张是本地展示样式截图 打包之后在dist查看static 里面的图片是正常的,没有问题 背景是通过three 场景添加的背景图 部署之后F12中 ele中dom结构并没有异常,没有什么多余蒙版遮住。 中间是一个地图,地图加载代码已经注释并不会影响three场景, 地图展示
怎么把图片传到 github 并在 README.md 引用显示? https://github.com/BartoszJarocki/cv/blob/main/README.md?plain=1 ![cv](https://github.com/BartoszJarocki/cv/assets/1017620/79bdb9fc-0b20-4d2c-aafe-0526ad4a71d2) 比如这个地
html代码是这样的,动态遍历一个树形结构 控制台看到后端传过来是有数据的,是有链接的 我复制图片的链接,且放到地址栏,回车是可以下载图片。我也有试过写死在img标签,页面能正常显示,说明链接是正常的 树形结构最后一层是没有显示图片。 注:我猜想是只有最后一层才有图片的原因造成的,所以我有些判断v-if,有值才加载。但结果都没显示,前端vue.js的语法不知道怎么写了。所以请问大家,这个得怎么把图
vue2前端跨域问题,后端放置到公网上,所有人都可以访问,还配置了access-control-allow-origin为*,前端拿接口地址到浏览器可以拿到数据,使用apiPost测试,接口可以拿到数据,但是放到前端代码里面就跨域,如下图 vue2前端跨域问题
本文向大家介绍js实现图片在未加载完成前显示加载中字样,包括了js实现图片在未加载完成前显示加载中字样的使用技巧和注意事项,需要的朋友参考一下
GitHub 图片不显示 主要思路就是使用本地hosts文件对网站进行域名解析,一般的DNS问题都可以通过修改hosts文件来解决,github的CDN域名被污染问题也不例外,同样可以通过修改hosts文件解决,将域名解析直接指向IP地址来绕过DNS的解析,以此解决污染问题。 修改本地hosts # GitHub 151.101.184.133 avatars0.githubusercontent