html - 在高度为 100% 的 div 中垂直对齐

标签 html css

<分区>

这是我的情况:我正在尝试制作一个包含两个 DIV 的页面来填充整个页面(高度 100%,宽度各 50%)。此外,DIV 中的内容将垂直居中对齐。

有没有无需 hack 或 javascript 即可实现此目的的简单方法?

我试过 body,html{height:100%;} .mydiv {display:table-cell;height:100%;vertical-align-middle}

但这行不通...使用该代码,我必须以像素而不是百分比指定宽度

最佳答案

Live Demo

我刚刚做了 a jsFiddle显示我对解决方案的建议。在这里我考虑到你想要两个 <div> s 分别填充 50% 的宽度和 100% 的高度,并且您希望内容在中间垂直对齐。这是 simplified working solution带有源代码。

HTML

<div id="outer">
    <div id="table-container">
        <div id="table-cell">
            This content is vertically centered.
        </div>
    </div>
</div>

CSS

#outer {
    position:absolute;
    top:0;
    left:0;
    width:50%;
    height:100%;
}

#table-container {
    height:100%;
    width:100%;
    display:table;
}

#table-cell {
    vertical-align:middle;
    height:100%;
    display:table-cell;
    border:1px solid #000;
}

作为引用,我使用了 this tutorial .

关于html - 在高度为 100% 的 div 中垂直对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12059410/

相关文章:

javascript - 动态生成的 slider 将不起作用

css - 如何在 SVG 中将一个圆圈附加到另一个圆圈之上?

jquery - 将类随机添加到两个 div 之一

javascript - 从图像创建渐变

css - 页面布局,Divs 而不是表格

jquery - CSS 中的 DIV onClick

html - 如果它位于单独的文件中,如何在 HTML 中显示 base64 编码的图像?

html - Shopify liquid 获取相关博文

javascript - jQuery 图像交换和动画不起作用

javascript - jQuery仅在已选择时删除突出显示