<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> /* 利用 flex 来进行布局,百度可以看看 */ /* 方法一 align-items:垂直居中,justify-content:center 竖直居中 */ /*.parent{ display: flex;align-items: center;text-align: center;justify-content:center; }*/ /*.son{display: inline-block}*/ /*.parent{ display: flex;justify-content:center;}*/ /*.son{display: inline-block;align-self: center;}*/ /* 方法二 这种似乎子节点要宽高*/ .parent{position: relative} .son{position: absolute;top: 0;left: 0;bottom: 0;right: 0;margin: auto} /* 方法三 */ /*.parent{display: table-cell;vertical-align: middle;text-align: center}*/ /*.son{display: inline-block;}*/ /* 方法四 */ /*.parent{position: relative}*/ /*.son{position: relative;top: 50%;left: 50%;*/ /*-webkit-transform: translate(-50%,-50%);*/ /*-moz-transform: translate(-50%,-50%);*/ /*-ms-transform: translate(-50%,-50%);*/ /*-o-transform: translate(-50%,-50%);*/ /*transform: translate(-50%,-50%);}*/ /* 方法五 */ /*.parent{ text-align:center; }*/ /*.parent:after{ display:inline-block; width:0; height:100%; vertical-align:middle; content:''; }*/ /*.son{ display:inline-block; vertical-align:middle; }*/ </style> </head> <body> <div class="parent" style="width: 500px;height: 400px;border: 1px solid #ccc"> <div class="son" style="height: 200px;width: 300px;border: 1px solid #ddd">宽高不固定,让 son 在 parent 垂直竖直居中。</div> </div> </body> </html>
一共基本的方法,根据不同的业务可以自己选择。