实现效果
容器基础样式
/* 容器基础样式 */ .box-wrap { width: 400px; height: 400px; border: 1px solid #eeeeee; margin-top: 20px; } .box { width: 200px; height: 200px; background-color: green; /* 文字居中 */ text-align: center; color: #ffffff; line-height: 200px; }
1、flex
.box-wrap { display: flex; justify-content: center; align-items: center; }
2、table-cell
.box-wrap { display: table-cell; text-align: center; vertical-align: middle; } .box{ display: inline-block; }
3、margin+transform
.box { margin: 50% auto; transform: translateY(-50%); }
4、inline-block + vertical-align(没有测试通过)
.box-wrap{ /*使行内元素或者行内块级元素水平居中*/ text-align: center; } .box { display: inline-block; vertical-align: middle; }
5、absolute + margin
.box-wrap { position: relative; } .box { position: absolute; left: 50%; top: 50%; /* 盒子高度的一半 */ margin-left: -100px; margin-top: -100px; }
6、absolute + margin-auto
.box-wrap { position: relative; } .box { position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; }
7、absolute + transform
.box-wrap { position: relative; } .box { position: absolute; left: 50%; top: 50%; /* 移动自身的50% */ transform: translate(-50%, -50%); }
8、grid + self
.box-wrap { display: grid; } .box { align-self: center; justify-self: center; }
9、grid + items