垂直居中的几种方法

在这里,我将其分为定位元素固定宽高和不固定宽高两类。

为了便于理解,我先写点公共的样式:

css:



.size是我所设的定位元素的宽高。下面开始介绍

一、固定宽高

html:


css:

1。


这种方法是给父元素设置相对定位,给子元素设置绝对定位 ,并在 top 和 left 方向上移动父元素50%的距离。因为子元素移动是以盒子左上角为基点移动的。所以还应该移动它本身宽高的一半。这里是用margin外边距来移动的,当然也就有了第二种方法 用calc来完成:

2。


calc是css3里新增计算属性,和上面方法原理是一样的。

3。

css:


这种方法同样使用绝对定位,但四个方向的偏移量全都为0,使用margin:auto 分配剩余空间。

二、未知宽高

html:


如图,定位元素(子元素)是没有size属性的,即其宽高是未知的。

4。

css:


这里的transform: translate(-50%, -50%);相当于上面的margin-top和margin-left。transorm、translate是css3新增属性,它是可以设置百分比的。相对于它自身的宽高。所以在子元素宽高未知时,设置-50%仍然居中。

5。

css:


这种方法是用弹性盒来实现的,其中justify-content: center;主轴居中,align-items: center;使侧轴居中。弹性盒多用于移动端。

6。

css:


这种方法是运用表格属性的水平垂直居中方法来实现的。只不过不太常用。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容