垂直居中
-
如果是
inline元素,并且父元素高度已知。可使用样式line-height:父元素高度 -
如果是
inline-block元素-
利用父元素的伪元素和
vertical-align样式:-
.father:after, .son{ display:inline-block; vertical-align:middle; } .father:after{ content:""; height:100%; }
-
-
利用
table样式-
.father{ display:table; } .son{ display:table-cell; vertical-align:middle; }
-
-
-
如果
position是absolute/fixed-
可以借助
position + margin样式组合:position:absolute;height:固定;top:0;bottom:0;margin:auto 0position:absolute;top:50%;margin-top:-0.5*高度
-
可以借助
position + transform样式组合:position:absolute;top:50%;transform:translateY(-50%);
-
-
flex方案:display:flex;align-items:center;
水平居中
-
如果是
inline或者inline-block元素,则可在父元素添加样式:text-align:center -
如果是
block元素- 可以使用样式
margin:0 auto;
- 可以使用样式
-
如果
position是absolute/fixed-
可以借助
position + margin样式组合:position:absolute;width:固定;left:0;right:0;margin:0 autoposition:absolute;left:50%;margin-left:-0.5*宽度
-
可以借助
position + transform样式组合:position:absolute;left:50%;transform:translateX(-50%);
-
-
flex方案:display:flex;justify-content:center;
文献
https://juejin.im/post/58f818bbb123db006233ab2a
本文详细介绍了在CSS中实现元素垂直与水平居中的多种方法,包括使用line-height、vertical-align、position、transform及flex布局等技术。适用于不同类型的元素如inline、inline-block和block元素,以及绝对定位元素。
4万+

被折叠的 条评论
为什么被折叠?



