У меня есть несколько изображений на моей странице. Я обнаружил, что страница начинает визуализироваться до загрузки изображений (что хорошо), но визуальный эффект невелик. Первоначально пользователь видит это:
--------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-ответ. Или факт, что я заранее не знаю высоту изображения непреодолимой проблемы? Я знаю соотношение сторон изображений.