【发布时间】:2011-06-22 01:35:50
【问题描述】:
我当然不想添加到一堆垂直对齐 CSS 问题中,但我花了几个小时试图找到一个无济于事的解决方案。情况如下:
我正在构建一个图片幻灯片库。我希望图像显示的大小与用户窗口允许的一样大。所以我有这个外部占位符:
<section class="photo full">
(是的,我使用的是 HTML5 元素)。其中有以下 CSS:
section.photo.full {
display:inline-block;
width:100%;
height:100%;
position:absolute;
overflow:hidden;
text-align:center;
}
接下来,将图像放入其中。根据图像的方向,我将宽度或高度设置为 75%,另一个轴设置为自动:
$wide = $bigimage['width'] >= $bigimage['height'] ? true: false; ?>
<img src="<?= $bigimage['url'] ?>" width="<?= $wide? "75%" : "auto"?>" height="<?= $wide? "auto" : "75%"?>"/>
所以,我们有一个流体外部容器,内部是流体图像。图像的水平居中工作,但我似乎无法找到将图像垂直居中于其容器内的方法。我研究过居中方法,但大多数都假设容器或图像具有已知的宽度或高度。然后是 display:table-cell 方法,它似乎对我也不起作用。
我被困住了。我正在寻找 CSS 解决方案,但也对 js 解决方案持开放态度。
【问题讨论】:
-
@Ferdy SECTION 元素是 BODY 的直接子元素吗?
-
@Ferdy 另外,发布一个用于 IMG 元素的 HTML 代码示例。
-
@Sime:是的。特此临时演示页面:ferdy.dnsalias.com/apps/jungledragon/html/tag/92/slideshow/…
-
@Ferdy 为什么设置
min-height:75%? -
@Sime。抱歉,我正在开发中。我现在把它去掉了。我还有这个问题,在 IE8 中,大图像只有 1 个像素高。
标签: css vertical-alignment fluid-layout