Flex 框问题 - 中心元素在溢出时被截断
Flex box issue - Center Element truncated on overflow
我正在使用一些弹性框属性将一个简单的 div 放置在屏幕中央:
//CSS
html {
width: 100%;
height: 100%;
}
body {
width: 100%;
height: 100%;
margin: 0px;
display: flex;
align-items: center;
justify-content: center;
}
div {
height: 500px;
width: 500px;
background-color: red;
border: 5px solid black;
}
//HTML
<div></div>
它运行完美,但是当我将屏幕高度减小到小于我的 div(小于 500px)时,我最终得到了一个奇怪的截断:我可以向下滚动并看到底部边框,但由于某种原因,当我向上滚动时,我无法到达顶部边框,它是隐藏的。
我是不是漏掉了什么?任何人都知道如何解决这个问题?
我创建了一个代码笔来演示这个问题:https://codepen.io/stepinsight/full/MqmEME
非常感谢您的帮助!
相反 align-items:center;
您可以在 flex 子项上使用 margin:auto
使其居中:
html {
width: 100%;
height: 100%;
}
body {
width: 100%;
height: 100%;
margin: 0px;
display: flex;
justify-content: center;
}
div {
height: 500px;
width: 500px;
background-color: red;
border: 5px solid black;
margin:auto;
}
<div></div>
fork of your pen
注意: justify-content
也从 codepen 上删除,当 margin:auto;
对于 flex
子项适用于两个轴时。 flex-shrink:0;
还添加了容器,因此当屏幕的宽度也变小时,容器不会水平收缩(也隐藏左边框)。
我正在使用一些弹性框属性将一个简单的 div 放置在屏幕中央:
//CSS
html {
width: 100%;
height: 100%;
}
body {
width: 100%;
height: 100%;
margin: 0px;
display: flex;
align-items: center;
justify-content: center;
}
div {
height: 500px;
width: 500px;
background-color: red;
border: 5px solid black;
}
//HTML
<div></div>
它运行完美,但是当我将屏幕高度减小到小于我的 div(小于 500px)时,我最终得到了一个奇怪的截断:我可以向下滚动并看到底部边框,但由于某种原因,当我向上滚动时,我无法到达顶部边框,它是隐藏的。
我是不是漏掉了什么?任何人都知道如何解决这个问题? 我创建了一个代码笔来演示这个问题:https://codepen.io/stepinsight/full/MqmEME
非常感谢您的帮助!
相反 align-items:center;
您可以在 flex 子项上使用 margin:auto
使其居中:
html {
width: 100%;
height: 100%;
}
body {
width: 100%;
height: 100%;
margin: 0px;
display: flex;
justify-content: center;
}
div {
height: 500px;
width: 500px;
background-color: red;
border: 5px solid black;
margin:auto;
}
<div></div>
fork of your pen
注意: justify-content
也从 codepen 上删除,当 margin:auto;
对于 flex
子项适用于两个轴时。 flex-shrink:0;
还添加了容器,因此当屏幕的宽度也变小时,容器不会水平收缩(也隐藏左边框)。