HTML页面中,将子控件居中显示是一个常见的需求。
方法一,对文字、图片、按钮等进行水平居中
text-align: center;
方法二,对任意控件设置为水平居中
.parent {
overflow: hidden;
// Following setting just for testing
width: 500px;
height: 200px;
background-color: #f98769;
}
.child {
margin: 50px auto;
// Following setting just for testing
width: 100px;
height: 100px;
background-color: #ff0000;
}
方法三,对文字进行“垂直居中”
line-height: height;
方法四,使用表格来设置水平居中和垂直居中
设置td和th的属性:
td th {
align: center;
valign: middle;
}
方法五,弹性布局下的水平居中和垂直居中
.parent {
display: flex;
justify-content: center;
align-items: center;
}
.child {
display: flex;
flex-direction: column;
justify-content: center;
}
方法六,使用table-cell来设置水平居中和垂直居中
.parent {
display: table-cell;
vertical-align: middle;
text-align: center;
}
.child {
display: inline-block;
}
方法七,通过设置子控件的位置来设置水平居中和垂直居中
.parent {
position: relative;
}
.child {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
方法八,通过:before来设置垂直居中
.parent {
position: relative;
}
.parent :before {
display: inline-block;
height: 100%;
width: 1%;
vertical-align: middle;
}
.child {
display: inline-block;
vertical-align: middle;
}