HTML 垂直水平居中的几种实现方式
2019-05-29 本文已影响0人
无相_庸才
1. 垂直水平居中 (父元素宽度、高度已知)
position + margin
![](https://img.haomeiwen.com/i4835068/4c7a53e9994ec4f3.png)
实现的效果:
![](https://img.haomeiwen.com/i4835068/fcded30ab24cd9d7.png)
解析:已知父元素宽高,子元素需要position:absolute,绝对定位,位置是(top:50%;left:50%), margin-left:一半子元素width ,margin-top:一半子元素height
2. 垂直水平居中 (父元素高度、宽度未知)
position + margin
![](https://img.haomeiwen.com/i4835068/d71164726ee7764f.png)
实现的效果:
![](https://img.haomeiwen.com/i4835068/6a32457b11ee47ea.png)
解析:未知父元素宽度、高度,子元素只需要设置,position:absolute,绝对定位,top/right/bottom/left 为0(4个属性值一致就行),margin为auto就行
3. 垂直水平居中 (父元素高度、宽度未知)
position + transform
![](https://img.haomeiwen.com/i4835068/59a8167c44fa4764.png)
实现效果:
![](https://img.haomeiwen.com/i4835068/dc4c24dac110a208.png)
4. 垂直水平居中(弹性布局)
flex
![](https://img.haomeiwen.com/i4835068/b9bb65382657427b.png)
实现效果:
![](https://img.haomeiwen.com/i4835068/b3a977f9bbf3d9ca.png)
5. 垂直居中(子元素是文本型)
display:table
![](https://img.haomeiwen.com/i4835068/07e5a78133c1ac63.png)
实现效果:
![](https://img.haomeiwen.com/i4835068/ff718104c34bd905.png)