CSS - 垂直居中

1. 单行文本垂直居中

当元素中只包含单行文本时,将元素的line - height值设置为与元素的height值相等,就可以实现文本的垂直居中:

.text-container {
     height: 50px;
     line-height: 50px;
     border: 1px solid black;
 }

2. 块级元素垂直居中(已知高度)

对于已知高度的块级元素,可以将父元素设置为相对定位(position: relative),子元素设置为绝对定位(position: absolute),然后通过设置子元素的top和bottom属性为0,并将margin属性设置为auto来实现垂直居中:

.parent-container {
     position: relative;   // √
     height: 200px;
     border: 1px solid black;
 }
.child-container {
     position: absolute;   // √
     top: 0;               // √
     bottom: 0;            // √
     margin: auto;         // √
     height: 100px;
     border: 1px solid red;
 }

3. 块级元素垂直居中(未知高度)

  1. 使用flex布局
    将父元素的display属性设置为flex,并使用align - items: center属性来使子元素在交叉轴(垂直方向)上居中:
.parent-container {
     display: flex;         // √
     align-items: center;   // √
     height: 300px;
     border: 1px solid black;
 }
.child-container {
     border: 1px solid red;
 }
  1. 使用grid布局
    ​将父元素的display属性设置为grid,然后使用place - items: center实现垂直居中:
.parent-container {
     display: grid;         // √
     place-items: center;   // √
     height: 400px;
     border: 1px solid black;
 }
.child-container {
     border: 1px solid red;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值