水平垂直居中的六种方法

1. 使用 Flexbox

Flexbox 是一个现代的布局模型,可以轻松实现元素的水平和垂直居中。

.container {
  display: flex;
  justify-content: center; /* 水平居中 */
  align-items: center; /* 垂直居中 */
  height: 100vh; /* 视窗高度 */
}

2. 使用 Grid

CSS Grid 是另一种强大的布局系统,也可以用来居中元素。

.container {
  display: grid;
  height: 100vh; /* 视窗高度 */
}
.container > div {
  align-self: center; /* 垂直居中 */
  justify-self: center; /* 水平居中 */
}

3. 使用绝对定位和 transform

通过绝对定位和 transform 属性,可以实现元素的居中。

.container {
  position: relative;
  height: 100vh; /* 视窗高度 */
}
.centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

4. 使用表格布局

使用 display: table 和 display: table-cell 可以模拟表格布局来居中元素。

.container {
  display: table;
  height: 100vh; /* 视窗高度 */
}
.centered {
  display: table-cell;
  text-align: center; /* 水平居中 */
  vertical-align: middle; /* 垂直居中 */
}

5. 使用 line-height

对于单行文本,可以通过设置 line-height 等于容器的高度来实现垂直居中。

.container {
  height: 100vh; /* 视窗高度 */
  line-height: 100vh; /* 垂直居中 */
  text-align: center; /* 水平居中 */
}

6. 使用 calc 和绝对定位

通过计算元素的偏移量,可以实现居中。

.container {
  position: relative;
  height: 100vh; /* 视窗高度 */
}
.centered {
  position: absolute;
  top: calc(50% - 50px); /* 假设元素高度为100px */
  left: calc(50% - 50px); /* 假设元素宽度为100px */
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温暖前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值