【发布时间】:2014-01-20 21:12:33
【问题描述】:
我有以下标记,它是一个 1x1px 透明 gif:
<img class="dummy" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" width="600" height="2867">
在加载真实图像之前,这是一个占位符图像。我知道图像的确切宽度和高度,但主要问题是该网站是响应式的。图片当然有max-width: 100%;。在 300px 宽度的列中,高度也变为 300px,它不会通过保持纵横比来缩放。
有没有办法做到这一点?
【问题讨论】:
-
我猜你不能没有javascript。浏览器根据原始图像的比例缩放图像。但是你可以有一个 1x5 像素的透明 gif,应该可以工作......
-
是的,但是宽高比并不总是1:5,也可以是3:2这样的水平图像。我也在考虑图像的 onload 事件,而不是用 JS 按父宽度计算,但这是一个丑陋的解决方案,正在寻找更清洁的解决方案。
-
但是如果你知道图片加载前的 w/h 那么你可以让占位符与原始图片的比例相同吗?我的意思是不同的适应每个图像?
-
但是续流是流动的......
-
是的,这就是我的意思。但是占位符图像本身必须与真实图像具有相同的比例,而不是 1x1。见这个例子jsfiddle.net/bVSTD
标签: html css image responsive-design aspect-ratio