html - 动态图像垂直居中时遇到问题

标签 html css html-table vertical-alignment css-tables

我需要将图像垂直居中,我提前不知道它的尺寸,所以我真正拥有的唯一选择是使用 tablescss table 我相信.

我想尝试一下 css 表,但我仍然无法让图像在其中垂直居中。

我的 HTML:

<div class="image">
    <div class="table">
        <div class="table_row">
            <div class="table_cell">
                <img src="https://pbs.twimg.com/profile_images/3560817062/a9bda79c4d2bfc3353a4fbc0a14e6080.jpeg" alt="Main Image">
            </div>
        </div>
    </div>
</div>

CSS:

.table {
    display: table;
    margin: 0px auto;
}

.table_row {
    display: table-row;
}

.table_cell {
    display: table-cell;
    vertical-align: middle;
}

.image {
    width: 411px;
    min-width: 411px;
    max-width: 411px;
    height: 341px;
    min-height: 341px;
    max-height: 341px;
    background-color: #f6f6f6;
}

.image img {

}

fiddle :http://jsfiddle.net/5DLuU/

我在这里做错了什么?

最佳答案

首先,您根本不需要 <div>对于表行,您只能使用 table-cell ,为了解决对齐问题,分配 height:100%对于表格和表格单元格:

.table {
    height:100%;
    display: table;
    margin: 0px auto;
}
.table_cell {
    height:100%;
    display: table-cell;
    vertical-align: middle;
}

检查这个 Demo Fiddle

关于html - 动态图像垂直居中时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21312186/

相关文章:

HTML,CSS如何使元素的宽度始终到页面底部?

javascript - 单元格/行插入到第一列下方

css - 我还应该为 border-radius 使用供应商前缀吗?

html - 下拉菜单位于图像下方

html - 子元素的 CSS

html - 相对宽度的CSS一列布局

c# - 如何在网页中显示格式化代码

javascript - 如何避免将 CSS 类设置为两个表中的一个表?

php - 需要向 html 表添加一个删除按钮,以通过一条消息从数据库中删除记录

CSS 边框不会显示在空行上