CSS水平居中text-align:center是前端工程师的基本功,我在项目中经常遇到CSS水平居中的需求,这篇教程将我以往用过的9种CSS实现水平居中的方法总结出来,也方便日后再用到时回顾。
另外,为了便于快速理解CSS水平居中的实现,我专门为本教程录制了一个视频供同学们观看。
操作方法
- 01
通过margin: 0 auto; text-align: center实现CSS水平居中。这种方法是实现CSS水平居中最最常用的,我在前端开发中大概有60%的CSS水平居中就是通过“margin: 0 auto; text-align: center”实现的。
- 02
通过display:flex实现CSS水平居中。随着越来越多兼容flexbox,所以通过“display:flex”实现CSS水平居中的方案也越来越受青睐。通过display:flex实现CSS水平居中的原理是父元素display:flex;flex-direction:column;而子元素align-self:center;这个跟CSS垂直居中的原理是一样的,只是在flex-direction上有所差别,一个是row(默认值),另外一个是column。
- 03
通过display:table-cell和margin-left实现CSS水平居中。对于父元素和子元素的宽度都确定的情况,适合通过display:table-cell和margin-left实现CSS水平居中。使用时,父元素display:table-cell,子元素给剩余宽度一半的margin-left。
- 04
通过position:absolute实现CSS水平居中。这种方法跟上一个方法适用场景一样,也是适用于父元素和子元素的宽度都确定的情况。使用时,父元素position:absolute,子元素给剩余宽度一半的margin-left。
- 05
通过width:fit-content实现CSS水平居中。这种方法可以确保子元素宽度不确定的情况下,也能实现CSS水平居中。需要注意的是,需要配合“margin: 0 auto; text-align: center”使用。
- 06
通过display:inline-block和text-align:center实现CSS水平居中。display:inline-block能改父元素内的子元素的表达样式,同样需要配合“margin: 0 auto; text-align: center”使用。
- 07
通过position:relative、float:left和margin-left实现CSS水平居中。给父元素样式position:relative,给子元素float:left和margin-left就可以实现CSS水平居中。
- 08
通过隐藏节点+float的方法实现CSS水平居中。我们可以通过增加一个隐藏节点,然后使其float:left,这样子元素就会被隐藏节点推着水平居中。这种增加隐藏节点方法也适用于CSS垂直居中,原理一样,但是不用float。
- 09
通过transform实现CSS水平居中。这种方法是最不推荐的方法,因为transform属性在各个浏览器中的表现行为不一致,所以会出现一些兼容性的问题,只有当已知用户浏览器时才推荐使用。
特别提示
CSS水平居中的第1、3、4种方法的浏览器兼容性最好,其它方法或多或少都存在一些浏览器兼容性上的不足
CSS水平居中的9种方法 相关的文章
思及此
还来不及增加介绍呢!
-
2178
文章
-
23
获赞
-
74
优质