CSS上下居中是Web开发中非常常见的需求。但是当我们不确定元素高度的情况下,该怎样实现上下居中呢?
.parent {
display: flex;
justify-content: center;
align-items: center;
} 使用CSS的flex布局是实现不确定高度的上下居中的最佳选择。上面的代码中,我们将父元素的display设置为flex,然后设置justify-content和align-items属性的值都为center。这样就可以使子元素在父元素中水平和垂直居中了。
如果不想使用flex布局或者需要向下兼容一些老的浏览器,还可以使用如下方法:
.parent {
position: relative;
}
.child {
position: absolute;
top: 50%;
transform: translateY(-50%);
} 在这里,我们将父元素设置为相对定位,然后将子元素设置为绝对定位,top属性的值为50%,表示位于父元素的中心线上,然后使用CSS3的transform属性的translateY方法往上移动子元素自身高度的一半,即使子元素垂直居中。
无论是使用flex布局还是绝对定位,都可以实现不确定高度元素的上下居中。具体可以根据自己的需求来选择不同的方法。