css居中超详细实现方法

css居中超详细实现方法
Mintal1、flex布局-设置居中
常见的一种方式就是使用 flex
布局设置居中。
利用弹性布局(flex
),实现水平居中,其中 justify-content
用于设置弹性盒子元素在主轴(横轴)方向上的对齐方式
给容器设置:
display: flex
写在父元素上这就是定义了一个伸缩容器justify-content
主轴对齐方式,默认是横轴align-items
纵轴对齐方式,默认是纵轴
优点: 简单、方便、快速,三行代码搞定。
1 | <div class="box"> |
2、flex-给子项设置
第一种方式是给父盒子设置属性,这一种是给子盒子设置 margin: auto
实现居中。给容器设置 display: flex
;
子项设置 margin: auto
;
1 | <div class="box"> |
3、绝对定位
使用绝对定位的方式实现水平垂直居中。容器设置 position: relative
。
子元素设置 position: absolute
; left: 50%
; top: 50%
;transform: translate(-50%, -50%)
;
优点就是不用关心子元素的长和宽,但是这种方法兼容性依赖 translate2d
的兼容性
1 | <div class="box"> |
4、table-cell 实现垂直居中
css 新增的 table
属性,可以让我们把普通元素,变为 table
元素的现实效果,通过这个特性也可以实现水平垂直居中
而且 table
单元格中的内容天然就是垂直居中的,只要添加一个水平居中属性就好了
使用 table-cell
实现垂直居中,容器设置 display: table-cell
;
vertical-align: middle
属性设置元素的垂直对齐方式
子元素如果是块级元素,直接使用左右 margin:auto
实现水平居中。如果是行内元素,给容器设置 text-align: center
利用 text-align: center
可以实现在块级元素内部的内联元素水平居中。此方法对内联元素 inline
, 内联块 inline-block
,
内联表 inline-table
, inline-flex
元素水平居中都有效。
1 | <div class="box"> |