本文节选自我的博客:实现水平垂直居中的十种方式
实现水平垂直居中是一道经典的面试题,如果你能侃侃而谈这十种实现水平垂直居中的方式,一定会令面试官眼前一亮。按照实现方式的不同可粗略分为三类:绝对定位实现的四种、flex实现的两种、其他四种。
水平垂直居中
content
水平垂直居中
content
水平垂直居中
content
水平垂直居中
content
绝对定位的四种,前三种要知道子元素的宽高
top: 50%;left: 50%;margin-left: -50px;margin-top: -50px;
top: 0;left: 0;right: 0;bottom: 0;margin: auto;
top: calc(50% - 50px);left: calc(50% - 50px);
top: 50%;left: 50%;transform: translate(-50%, -50%);
flex两种:目前在移动端已经完全兼容flex,PC端需要看业务的兼容性情况
display: flex;justify-content: center;align-items: center;
即可display: flex;
子元素margin: auto;
其他四种写法:
text-align: center;line-height: 300px
(撑满);子标签display: inline-block;vertical-align: middle;line-height: initial;
(控制好行高)利用了行内块和行内标签具有文本属性的特点align-self: center;justify-self: center;
display: table-cell; text-align: center;vertical-align: middle;
感谢小伙伴们的耐心观看,本文为笔者个人学习记录,如有谬误,还请告知,万分感谢!如果本文对你有所帮助,还请点个关注点个赞~,您的支持是笔者不断更新的动力!