作者: 文章来源:
本文原地址:https://www.mimiwuqi.com/webqianduan/197234.html
目录文章目录CSS 中实现水平垂直居中的实现方式很多,相信小白也会罗列很多方法。当然,大家别看到水平垂直居中就准备右上角 x 掉,本文的重点不是罗列有多少种方式实现水平垂直居中方式,而是探讨一下常见的几种水平垂直居中的方式的利与弊。
也就是:
接下来将讨论 4 种水平垂直居中的方式,搭配图文为大家讲解:
position: absolute 配合 top:50%;left:50%;transform:translate(-50%, -50%)display:flex 配合 margin:autodisplay:flex 配合 align-items:center、justify-content:centerdisplay:grid 配合 place-content:center;推荐阅读《CSS 中值得收藏的七种垂直居中方法》《CSS 如何实现不定宽高 div 水平垂直居中呢?》
对于如下简单的结构:
<div >
<div ></div>
</div>
居中单个元素而言,上述 4 种方法都很好,没有问题。

可以看到:
margin: auto 已经无法做到均匀分配,水平垂直居中了,而是一边贴着容器边,另外一边溢出flex 和 grid 都做到了即便超出容器空间,依然是水平垂直居中的经由上述几个 DEMO 可以看出来,在目前比较常用的水平垂直居中方案当中。flex 方案应该是目前而言最优的选择,它能够在各种环境下都保持内部元素的水平垂直居中并且不改变子元素的某些特征:
当然,美中不足的是,可能相对而言,要敲多几个字符。
而 margin: auto 和 grid 则或多或少有一些小问题。absolute 无法应付多个元素。
本文知识点比较细,也表明 CSS 虽然简单,但是不代表它容易。我们日常工作中用到的很多属性其实还有很多细节可以挖掘深入。
比如,可以再比较下在书写方式 writing-mode 不同的场景下,上述水平垂直居中的方式的异同,等等。
更多 建站教程 请访问 https://www.mimiwuqi.com/webqianduan/