元素的水平垂直居中解决方法

有时候为了使页面元素看起来更美观,常常会让元素水平居中,垂直居中。下面总结了几个常用的方法。

首先HTML结构如下:

1   
2
布局
3

方法1、使用最流行的flex布局方案。

1 .out {
2     display: flex;
3     justify-content: center;
4     align-items: center;
5 }

方法2、使用定位和偏移

1 .out {
2       position: relative;
3 }
4 .in {
5       position: absolute;
6       top: 50%;
7       left: 50%;
8       transform: translate(-50%, -50%);
9 }

使用transform可以不用考虑内部元素的宽高。

方法3、使用定位和负margin

 1 .out {
 2       position: relative;
 3 }
 4 .in {
 5       position: absolute;
 6       top: 50%;
 7       left: 50%;
 8       margin-left: -25px;
 9       margin-top: -12.5px;
10 }

此时,需要明确内部元素的宽高。(这里设置的内部元素in是高25px,宽50px)

方法4、使用定位和margin:auto;

 1 .out {
 2       position: relative;
 3 }
 4 .in {
 5       position: absolute;
 6       top: 0;
 7       left: 0;
 8       right: 0;
 9       bottom: 0;
10       margin: auto;
11 }

如果内部只有文本没有标签,如下:

直接文字居中

则可以设置:

.table {
      width: 200px;
      height: 100px;
      display: table-cell;
      text-align: center;
      vertical-align: middle;
      border: #00f solid 1px;
}

或者是设置 line-height 为元素高度。

几个简单的是元素水平居中垂直居中的方法,有新方法再继续补充。

你可能感兴趣的:(元素的水平垂直居中解决方法)