【发布时间】:2021-02-27 12:18:35
【问题描述】:
我知道如何在屏幕上或使用 flexbox 的父容器中垂直居中 div。但是,我不能在剩余的屏幕高度上垂直居中 div。
基本上:
- 我有一个带有页眉的页面,在一个包含一些内容的 div 下方。内容应以剩余高度垂直居中。
- 将
height:100vh提供给父包装器时,div 居中,但父div 变得太长并溢出视口。因此对中不正确。给父母一个height:100%时,它没有效果。
如何解决这个问题?这是代码和沙箱:
html:
export default function App() {
return (
<div className="App">
<header>
<h1>Header</h1>
</header>
<div className="content-wrapper">
<div className="content">
<h3>content</h3>
</div>
</div>
</div>
);
}
CSS:
body {
margin: 0;
background: black;
height: 100vh;
}
.App {
font-family: sans-serif;
text-align: center;
}
header {
padding: 24px;
color: white;
border: 1px solid white;
}
.content-wrapper {
display: flex;
align-items: center;
justify-content: center;
color: white;
height: 100%;
}
.content {
border: 1px solid orange;
padding: 24px;
width: 100%;
}
沙盒:https://codesandbox.io/s/happy-wright-c85gi?file=/src/styles.css
感谢您的帮助!
【问题讨论】: