【发布时间】:2013-03-30 19:22:36
【问题描述】:
在一个网页中,我有几个相互堆叠的图像。图片的 CSS 是
img {
width: 100%;
height: auto;
padding: 0;
border: 0;
margin-bottom: 0.66em;
}
所有图片都在 html img 标签中指定了适当的高度和宽度。
当页面在慢速连接上加载时,我希望在将实际图像加载到其中之前,图像会显示为缩放的框架。这是因为它有时看起来像这样:
[----------------]
[ Loaded image ]
[----------------]
[ Not loaded image ]
[----------------]
[ Loaded image ]
[----------------]
加载的图像大小合适,但未加载的图像仍然只是显示alt=text 的一行。
然后,当三个负载的中间膨胀到合适的大小并移动其他负载。
我希望外观和加载与没有 CSS 的情况相同:将出现图像的空框以正确的像素大小显示,然后用图像填充。
请注意,这当然只是连接慢时的问题,图像实际上并没有那么大。
图像是渐进式 JPG。
我想:
- 在填充图像之前,根据 css 设置缩放图像帧。
- 按顺序加载图片,从顶部的图片开始到页面的下方。
使用伟大的Lazyloading plugin 当然可以是一个解决方案,但它似乎有点矫枉过正。
我也可以使用javascript检测窗口宽度,然后更改html标签中的width和height,但这似乎没有必要。
我更喜欢不需要更改图像本身代码的解决方案。如果可以实现,最好只使用 css。
非常期待您的想法!感谢您阅读这篇长文:)!
【问题讨论】:
标签: html css image lazy-loading loading