一、未知宽高设置文本水平垂直居中
<div class="app_container"><div class="content">水平垂直居中文字</div></div>
1、绝对居中+水平位置
.app_container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
2、flex属性居中
.app_container{height:100%;width:100%;display:flex;align-items:center;justify-content:center;}
3、flex + margin auto
.app_container {height: 100%;width: 100%;display: flex;}.content {margin: auto;}
4、grid属性居中
.app_container{height:100%;width:100%;display:grid;align-items:center;justify-content:center;}
5、grid 子项属性居中
.app_container{height:100%;width:100%;display:grid;}.content{align-self:center;justify-self:center;}
6、grid+ margin auto
.app_container {height: 100%;width: 100%;display: grid;}.content {margin: auto;}
7、-webkit-box 属性居中
.app_container {height: 100%;width: 100%;display: -webkit-box;-webkit-box-pack: center;-webkit-box-align: center;}
8、writing-mode
.app_container {height: 100%;width: 100%;writing-mode: tb-lr;writing-mode: vertical-lr;text-align: center;}.content {writing-mode: lr-tb;writing-mode: horizontal-tb;text-align: center;width: 100%;display: inline-block;}
二、已知宽高设置文本水平垂直居中
1、line-height + text-align
.app_container {height: 500px;width: 500px;line-height: 500px;text-align: center;border: 1px solid #d2d2d2;}
2、table-cell + text-align
.app_container {height: 500px;width: 500px;display: table-cell;vertical-align: middle;text-align: center;border: 1px solid #d2d2d2;}
3、须知宽高 + 绝对居中 + margin 负边距
.app_container {height: 500px;width: 500px;position: relative;border: 1px solid #d2d2d2;}.content {width: 100px;height: 100px;position: absolute;top: 50%;left: 50%;margin: -50px 0 0 -50px;}
4、须知宽高 + 绝对定位 + calc
.app_container {height: 500px;width: 500px;position: relative;border: 1px solid #d2d2d2;}.content {width: 100px;height: 100px;position: absolute;top: calc(50% - 50px);left: calc(50% - 50px);}
5、须知宽高 + 绝对居中 + margin: auto
.app_container {height: 500px;width: 500px;position: relative;border: 1px solid #d2d2d2;}.content {width: 100px;height: 100px;position: absolute;top: 0;left: 0;right: 0;bottom: 0;margin: auto;}