5种盒子垂直居中的方式

2018-06-28  本文已影响50人  明日将来

1.通过flex来实现

Document

.box{

width:800px;

height:800px;

border:1pxsolid#000;

display: flex;

/*控制元素在主轴的对齐方式*/

justify-content: center;

/*控制默认的一行的对齐方式*/

align-items: center;

margin:0auto;

}

2.通过table来实现

table{

width:800px;

height:500px;

border:1pxsolid#000;

}

td{

/*控制行内块居中*/

text-align: center;

}

/*div{*/

/*依然可以不用写这个属性,inline-block,一样垂直居中*/

/*行内元素不会继承父级的宽度

/*display: inline-block;*/

/*}*/

3.通过定位transform来实现:

*{

margin:0;

padding:0;

}

.box{

width:800px;

height:400px;

border:1pxsolid#000;

margin:0auto;

position: relative;

}

.box1{

text-align: center;

width:400px;

height:200px;

position: absolute;

overflow: hidden;

top:50%;

left:50%;

transform:translate(-50%,-50%);

}

4.通过行内块和vertical-align实现(这种方式必须要添加一个空标签)

.box{

width:700px;

height:500px;

border:1pxsolid#000;

text-align: center;

margin:0auto;

}

.box1{

vertical-align: middle;

display: inline-block;

}

.tips{

width:1px;

height:100%;

/*background-color: red;*/

vertical-align: middle;

display: inline-block;

}

5.通过table-cell来实现

/*这样写的缺点在于,大盒子如果转成table-cell,那么这个盒子便设置不了margin了。*/

.box{

width:800px;

height:500px;

border:1pxsolid#000;

text-align: center;

vertical-align: middle;

display: table-cell;

}

/*这里的 inline-block 可以不用写,不会有任何问题*/

/*.box1{

display: inline-block;

vertical-align: middle;

}*/


上一篇下一篇

猜你喜欢

热点阅读