【发布时间】:2013-04-09 13:34:00
【问题描述】:
我试图在 div 内垂直居中图像。我在 stackoverflow 上阅读了一些其他类似的问题,并决定使用这个解决方案:
<div id="wrapper">
<div id="cell">
<img />
</div>
</div>
#wrapper {display:table;}
#cell {display:table-cell; vertical-align:middle;}
这对于小于视口大小的图像非常有用。当图像的高度大于视口时会出现问题。在这种情况下,包装器 div 只是成为图像的高度。它溢出了页面。我该如何避免这种情况。
这个包装 div 是 view-port div 的一部分。视口 div 具有固定高度和 100% 宽度定位绝对
#view-port{ height: 600px; width:100% }
编辑:我想我对这个问题造成了一些混乱。我创建了 JSfiddle 来解释我的意思
这是一个链接:http://jsfiddle.net/sublime/fgTtj/
我想在#outer 内垂直居中图像我没有图像尺寸,正如您在小提琴上看到的那样,它工作得很好,但是当#outer divs 高度小于图像高度时,比如说 200 它会剪切图像。我想缩小该图像以适应外部 div
【问题讨论】:
-
你试过溢出:隐藏吗?还是完全让 div 变大了
-
这个包装器 div 位于某个高度为 600px 的视图 div 内。当高度 900px 的图像进入包装器时变为 900px 并溢出
-
我认为您无法在纯
css、html中对此做任何事情,因为无法检测屏幕高度。最好使用 javascript。 -
当图像的高度较大时,您究竟希望发生什么?
-
@sublime: 更好地回答
Linus Caldwell问题,这样我们就可以帮助您...
标签: css vertical-alignment css-tables