让div垂直水平居中的方法

关于如何让div垂直居中这个问题,是初级前端面试被问到的较为基础以及很常见的一道题目,下面我将总结一下让div垂直居中的击中方法。

1.图片展示

在这里插入图片描述

2. 首先它分为以下两种情况:
<body><div class="wrap"><div class="box">123div> div>
body>
知道宽高的情况下

1.margin:0 auto; (效果为水平居中)

{width: 100px;height: 100px;border: 1px solid #000000;margin:0 auto;
}

2.绝对定位,上左为50%,再让上左外边距为: -(实际宽高/2)

.box {width: 100px;height: 100px;border: 1px solid #000000;position: absolute;left: 50%;top: 50%;margin-top: -50px;margin-left: -50px;}

3.绝对定位,上下左右为0,margin为auto(记得后面这一句话很重要!)

.box {width: 100px;height: 100px;border: 1px solid #000000;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;

4.弹性盒子
(这种方法在知不知道宽高都能够实现,只不过父元素不知道宽高的情况下它会是水平居中,但是需要注意的一个点是:把属性写在要求居中的div的父元素中)

.wrap{width: 500px;height: 500px;border: 1px solid #000000;position: relative;display: flex;justify-content: center;align-items: center;}.box{}

5.平移法
(这种方法在知不知道宽高都能够实现,在知道本身div的宽高下它会垂直水平居中,否则是水平居中)

.box {width: 100px;height: 100px;border: 1px solid #000000;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);}

6.利用css3新增属性
display: table; display: table-cell,vertical-aligen: middel

.wrap {height: 500px;border: 1px solid #000000;display: table;}
.box {border: 1px solid #000000;background: pink;display: table-cell;vertical-align: middle;}
不知道宽高的情况下

上面的4,5,,6方法都可以

目前见到的比较常用的就是这几种方法,还知道方法的童鞋可以在下面留言或者私聊我,哈哈哈欢迎一起讨论学习。
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部