【发布时间】:2015-12-20 08:14:08
【问题描述】:
我有一个显示在页面顶部的全宽图像。在图像加载空间之前,它的高度为 0,但在加载之后,它会下推整个内容,从而产生令人不快的加载闪烁。
这通常通过 CSS 设置图像的 高度 来解决,以便在图像加载后,布局不会改变。在我的情况下,它不起作用(至少不是直接起作用),因为我不知道图像的 height:作为全宽图像,它的高度实际上由视口的宽度决定。
img {
width: 100%;
}
是否有任何纯 CSS 方法来解决此问题(在加载之前为图像保留空间,仅通过知道图像大小)?
这是demo
LE: 我刚刚注意到,如果有某种占位符元素具有与图像相同的属性(例如:在顶部添加一个具有相同宽度的元素),则可以解决此问题/height 作为源图像并且还具有 100% 宽度的样式属性),这样图像所需的空间实际上会被占位符元素使用。
【问题讨论】:
-
似乎在那个演示中工作......
-
@Johannes 我不希望在图像加载后将内容下推。我希望绿色 div 在图像加载前后位于同一位置。在图像加载之前,顶部应该只有空白,在内容之前,图像所在的位置。 PS:我用的是谷歌浏览器
-
好的,我刚刚看到:如果容器比高宽(我一开始有),它会起作用。当容器高于宽时,您的描述是正确的。我知道,这无济于事,但仍然可能是解决方案的提示......
-
你好,有js的方式可以解决,但是我觉得没有css的方式可以解决
标签: html css responsive-design