css - 垂直居中超过窗口高度的内容

标签 css flexbox

我正在尝试使用 display: flex; 使框垂直居中,当框足够小时它可以工作,但当框超过窗口高度时,部分内容将被切断。

工作示例:http://codepen.io/woutr_be/pen/bVQXLe

大高度示例:http://codepen.io/woutr_be/pen/KdrOZm

这似乎与 body: { height: 100%; },但是当我删除它时,框不再居中:http://codepen.io/woutr_be/pen/MazNrE

当盒子的高度很大时,我不知道如何让它工作。

最佳答案

当我需要垂直对齐一个元素时,这通常是我倾向于使用的。尝试更改高度和宽度,您会注意到它如何自动计算以使元素居中。

div.container{
    width: 300px;
    height: 300px;
    position: relative;
  
    background: salmon;
}

div.container > div.wrapper{
    position: absolute;
  
    top: 50%;
    left: 50%;
  
  
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  
    background: red;
}
<div class='container'>
    <div class='wrapper'>
      <label>Some text</label>
      <label>Some more text</label>
    </div>
</div>

关于css - 垂直居中超过窗口高度的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33664202/

相关文章:

css - 我如何在 CSS 中创建它,或者这样的名称是什么供我搜索?

javascript - 避免在淡入 <li> 时看到 CSS3 框阴影

javascript - MouseOver 不会在重叠的 div 上冒泡吗?

html - 为什么 flexbox 容器周围有填充物?

css - 使用 Flexbox 如何防止特定元素继承 Flex 布局?

html - 鼠标悬停在图片上时的效果

html - :focus doesn't work in ie

ios - IOS : flex direction column overlapping elements 中的 flexbox 布局

html - 无法滚动到容器溢出的 flex 元素顶部

html - 如何消除 flexbox 中的间隙?