css实现水平垂直居中的几种方法,css实现水平垂直居中的几种方式

梳理下平时常用css水平垂直居中方式~

使用flex布局

HTML

CSS

.box {

width: 100vw;

height: 500px;

background: skyblue;

display: flex;

align-items: center;

justify-content: center;

}

.child {

width: 200px;

height: 200px;

background-color: deepskyblue;

}

利用flex的alignItems:center垂直居中,justifycontent:center水平居中

利用相对定位和绝对定位的margin:auto

HTML

CSS

.box {

width: 100vw;

height: 500px;

background: skyblue;

position: relative;

}

.child {

width: 200px;

height: 200px;

background-color: deepskyblue;

position: absolute;

top: 0;

left: 0;

right: 0;

bottom: 0;

margin: auto;

}

相对定位下,使用绝对定位将上下左右都设置为0,再设置margin:auto即可实现居中

利用相对定位和绝对定位,再加上外边距和平移的配合

HTML

CSS

.box {

width: 100vw;

height: 500px;

background: skyblue;

position: relative;

}

.child {

width: 200px;

height: 200px;

background-color: deepskyblue;

position: absolute;

top: 50%;

left: 50%;

transform: translate(-50%, -50%);

}

相对定位下,使用绝对定位,利用margin偏移外容器的50%,再利用translate平移回补自身宽高的50%即可

利用textAlign和verticalAlign

HTML

CSS

.box {

width: 100vw;

height: 500px;

background: skyblue;

text-align: center;

}

.box:after {

content: "";

display: inline-block;

height: 100%;

width: 0;

vertical-align: middle;

}

.child {

display: inline-block;

vertical-align: middle;

}

利用textAlign:center实现行内元素的水平居中,再利用verticalAlign:middle实现行内元素的垂直居中,前提是要先加上伪元素并给设置高度为100%,用过elementUI的可以去看看其消息弹窗居中实现方式就是如此

其他

上面都是在未知外容器和自身宽高下实现水平垂直居中的,如果已知其宽高,可以有更多种简单的方式实现居中,其原理无非是利用绝对定位的top/left偏移、margin偏移、padding填充,在此就不分析了。还有就是单纯文字的居中利用lineHeight和textAlign即可实现。

欢迎到前端学习打卡群一起学习~516913974

b739ec46bb5c46d9c0aa4ce35ba1ea56.png

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[css实现水平垂直居中的几种方式]http://www.zyiz.net/tech/detail-132514.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值