[1] 使用绝对定位和外边距
fathereElement{ position : relative; } childElment{ margin : auto; position : absolute; top : 0; left : 0; bottom : 0; right : 0; height : 500px; }
[2] 在确认子元素的大小时
fathereElement{ position : relative; } childElment{ position : absolute; top : 50%; left : 50%; margin-top : - childElement height; margin-left : - childElement with; }
[3] 使用transform
fathereElement{ position : relative; } childElment{ position : absolute; top : 50%; left : 50%; transform : translate(-50%,-50%); }
[4] 使用flex
fathereElement{ display:flex; } childElment{ position : absolute; top : 50%; transform : translateY(-50%); }
[5] 利用table-cell,在父级设置一下属性,子内容垂直居中
display: table-cell; vertical-align:middle;