flex布局对子div进行水平垂直居中方法:

  1. .contianer {
  2. display: flex;
  3. width: 100%;
  4. height: 100vh;
  5. background-image: url(../assets/login_bg.png);
  6. background-size: 100% 100%;
  7. /* 水平方向居中 */
  8. align-items: center;
  9. /* 垂直方向居中 */
  10. justify-content: center;
  11. }
  12. .loginBox {
  13. display: flex;
  14. width: 450px;
  15. height: 450px;
  16. }

完整示例:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. /* 清除浏览器的默认样式 */
  8. * {
  9. margin: 0;
  10. padding: 0;
  11. }
  12. /* 根设置宽高为100% */
  13. html,
  14. body {
  15. width: 100%;
  16. height: 100%;
  17. overflow: hidden;
  18. background-color: chocolate;
  19. }
  20. .contianer {
  21. display: flex;
  22. width: 100%;
  23. height: 100vh;
  24. background-image: url(../assets/login_bg.png);
  25. background-size: 100% 100%;
  26. /* 控制子元素水平方向居中,如子div元素loginBox*/
  27. align-items: center;
  28. /* 控制子元素垂直方向居中,如子div元素loginBox */
  29. justify-content: center;
  30. }
  31. .loginBox {
  32. display: flex;
  33. width: 450px;
  34. height: 450px;
  35. background-color: gold;
  36. /* 控制子元素水平方向居中,如span元素 */
  37. align-items: center;
  38. /* 控制子元素垂直方向居中,如span元素 */
  39. justify-content: center;
  40. }
  41. </style>
  42. </head>
  43. <body>
  44. <div class="contianer">
  45. <div class="loginBox">
  46. <span>登录窗体</span>
  47. </div>
  48. </div>
  49. </body>
  50. </html>