1:vertical-align: middle; // 需要同级dom也是行内元素,相对于同级元素居中
2:line-height: 50px; // 一般设置文字居中
3:定位 加 margin实现居中
父元素设置 position:relative;
子元素设置 position:absolute; top 和 left 设置 50%; 高度固定,设置 margin-top 和 margin-left 元素宽度和高度的一半。
.main-wrap {
position: relative;
width: 100%;
height: 100%;
}
.main {
position: absolute;
top: 50%;
left: 50%;
margin-top: -250px;
margin-left: -250px;
width: 500px;
height: 500px;
}
4:利用定位 加 css transform偏移来实现居中
父元素设置position:relative;
子元素 position:absolute; top 和 left 设置 50%; 设置transform: translate(-50%, -50%);
3 和 4 的同与不同
相同点:
1:都是通过定位来协助实现的
不同点:
1:3的margin须依赖子元素的固定宽高来实现
2:3只能实现固定宽高元素的居中,4可以实现不同宽高的自适应居中
5:flex 实现居中