vue3-waterfall-plugin
vue3-waterfall-plugin copied to clipboard
关于懒加载图片适配问题
懒加载组件用的哪个?
懒加载组件用的哪个?
<LazyImg :url="url + item.img_url" v-on:contextmenu="preventContextMenu" ref="lazyImg" @success="lazyImgLoadSuccess1" />
懒加载组件用的哪个?
懒加载图片我看有个padding-bottom,最大值是200吗
你左边那个红色的正方形图片,我看是铺满了的,你有检查过没铺满的卡片的模糊图和清晰图片是一个比例吗?
loadProps: { loading, error, ratioCalculator: (width, height) => { // 我设置了最小宽高比 const minRatio = 3 / 4; const maxRatio = 4 / 3; // 获取当前图片的比例 const curRatio = width / height; // 如果当前图片比列不在此范围内,我们取最小或者最大值 if (curRatio < minRatio) { return minRatio; } else if (curRatio > maxRatio) { return maxRatio; } else { return curRatio; } } }
你左边那个红色的正方形图片,我看是铺满了的,你有检查过没铺满的卡片的模糊图和清晰图片是一个比例吗?
emmm....我知道原因了。这是一个数学问题。 100x100的时候,你给了一个20的边距。这时候你除开边距剩下80x80,他还是1:1 100x200的时候,你给了一个20,那么就变成80x180,当然不是1:2咯
emmm....我知道原因了。这是一个数学问题。 100x100的时候,你给了一个20的边距。这时候你除开边距剩下80x80,他还是1:1 100x200的时候,你给了一个20,那么就变成80x180,当然不是1:2咯
没想到这。。。这种情况有啥好的处理办法吗,间距还必须保留
<style>
.card {
position: relative;
&__bg {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 1;
}
&__img {
position: relative;
z-index: 2;
padding: 20rem;
}
}
</style>
<div class="card">
<div class="card__bg">
<lazyImg/>
</div>
<div class="card__img">
<lazyImg/>
</div>
</div>
这种结构试试。
其实,你这个没必要用2张图的。你的背景图就用的你主图然后给个高斯模糊的滤镜就行了。这样还能少加载一倍的资源。你在lazyImage加载成功的事件里面给你背景图赋地址就行了。
好的,我试试,感谢
@blackomilk 你这个照片显示的样式可以提供下吗