margin-top -50%

  1. // html 代码
  2. <div class="parent">
  3. <div class="child">
  4. </div>
  5. </div>
  6. // css 代码
  7. <style>
  8. .parent{
  9. height: 300px;
  10. border: 1px solid red;
  11. position: relative;
  12. }
  13. .child{
  14. border: 1px solid green;
  15. width: 300px;
  16. height: 100px;
  17. position: absolute;
  18. top: 50%;
  19. left: 50%;
  20. margin-left: -150px;
  21. margin-top: -50px;
  22. }
  23. </style>

translate -50%

  1. // html 代码
  2. <div class="parent">
  3. <div class="child">
  4. test
  5. </div>
  6. </div>
  7. // css 代码
  8. <style>
  9. .parent{
  10. height: 300px;
  11. border: 1px solid red;
  12. position: relative;
  13. }
  14. .child{
  15. border: 1px solid green;
  16. width: 300px;
  17. height: 100px;
  18. position: absolute;
  19. top: 50%;
  20. left: 50%;
  21. margin-left: -150px;
  22. margin-top: -50px;
  23. }
  24. </style>

absolute margin auto

  1. // HTML 代码
  2. <div class="parent">
  3. <div class="child">
  4. </div>
  5. </div>
  6. // CSS 代码
  7. <style>
  8. .parent{
  9. height: 300px;
  10. border: 1px solid red;
  11. position: relative;
  12. }
  13. .child{
  14. border: 1px solid green;
  15. position: absolute;
  16. width: 100px;
  17. height: 100px;
  18. margin: auto;
  19. top: 0;
  20. bottom: 0;
  21. left: 0;
  22. right: 0;
  23. }
  24. </style>

flex

  1. // HTML 代码
  2. <div class="parent">
  3. <div class="child">
  4. </div>
  5. </div>
  6. // CSS 代码
  7. <style>
  8. .parent{
  9. height: 300px;
  10. border: 1px solid red;
  11. display: flex;
  12. justify-content: center;
  13. align-items: center;
  14. }
  15. .child{
  16. width: 100px;
  17. height: 100px;
  18. border: 1px solid green;
  19. width: 300px;
  20. }
  21. </style>