我的页面上有几张图片。我发现页面在图像加载之前就开始渲染(这很好),但视觉效果不是很好。最初,用户会看到:
--------hr--------
text
然后几毫秒后页面跳转显示:
--------hr--------
[ ]
[ image ]
[ ]
text
有没有一种简单的方法可以显示图像将占据的宽度和高度的灰色背景图像,直到图像本身加载?
复杂的因素是我事先不知道图像的高度和宽度:它们是响应式的,并且只是设置为width: 100%
包含 div。这是 HTML/CSS:
<div class="thumbnail">
<img src="myimage.jpeg" />
<div class="caption">caption</div>
</div>
img { width: 100% }
这是一个 JSFiddle 来说明基本问题:http: //jsfiddle.net/X8rTB/3/
我已经研究过LazyLoad之类的东西,但我不禁觉得必须有一个更简单的非 JS 答案。还是我事先不知道图像的高度是一个无法克服的问题?我确实知道图像的纵横比。