1.transform :translate(-50%,-50%)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> body, html { width: 100%; height: 100%; margin: 0; padding: 0 } .box { width: 100%; height: 100%; background: red } .div1 { width: 200px; height: 200px; background: black; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) } </style> </head> <body> <div class="box"> <div class="div1"></div> </div> </body> </html>
2.top,bottom,left,right和margin:auto
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> body, html { width: 100%; height: 100%; margin: 0; padding: 0 } .box { width: 100%; height: 40%; background: red; position: relative } .div1 { width: 200px; height: 200px; background: black; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto } </style> </head> <body> <div class="box"> <div class="div1"></div> </div> </body> </html>