flex元素水平垂直居中(三种position水平垂直居中和两种新老版本水平垂直居中)
(1).position :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> * { margin: 0; padding: 0; } #wrap { 500px; height: 500px; background: grey; //新版本flex方法 display: flex; justify-content: center; //主轴 align-items: center; //侧轴 //旧版本的flex版本 display: -webkit-box; -webkit-box-pack: center; //主轴 -webkit-box-align: center;//侧轴 // position: relative; } #box{ 200px; height: 200px; background: deeppink; position: absolute; //第一种垂直居中法 top: 0; left: 0; bottom: 0; right: 0; margin: auto; //第二种垂直居中法 top: 50%; left: 50%; margin-top: -100px; margin-left: -100px; //第三种垂直居中法 top: 50%; left: 50%; transform: translate(-50%,-50%); } </style> </head> <body> <div id="wrap"> <div id="box"></div> </div> </body> <script type="text/javascript"> window.onload = function () { var box = document.getElementById('box'); } </script> </html>