我的网页上有几张图片。我发现页面在图像加载之前开始渲染(这很好),但是视觉效果并不好。最初,用户看到这样的:等待完整图像加载时占位符背景/图像?
--------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答案。或者事实上,我不知道事先形象的高度是不可逾越的问题?我知道图像的宽高比。
做一个空div灰色背景和设定尺寸,然后添加图像作为'背景image'? – Andy
试过如下,但它实际上并没有做任何事情:'ul.options li {background:url(/ media/img/cont/filler。PNG);背景大小:100%100%; }' – Richard
Richard,不要使用列表项,使用div代替'',然后给它设置尺寸('height:200px; width:300px;'),它应该可以工作 – Andy