CSS 居中的三种方法

1、完美居中:绝对定位 + transform,适用于元素宽高未知的大多数情况

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>前端ABC-qdabc.cn</title>
  <style>
    .parent {
      position: relative;
      height: 300px;
      width: 300px;
      background: #ddd;;
    }
    .child {
      position: absolute;
      height: 100px;
      width: 100px;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      background: #333;
    }
  </style>
</head>
<body>
  <div>
    <div></div>
  </div>
</body>
</html>

2、完美居中:flex布局,需要兼容flex

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>前端ABC-qdabc.cn</title>
  <style>
    .parent {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 300px;
      width: 300px;
      background: #ddd;
    }
    .child {
      height: 100px;
      width: 100px;
      background: #333;
    }
  </style>
</head>
<body>
  <div>
    <div></div>
  </div>
</body>
</html>

3、内联元素水平居中:text-align,适用于常规文档流中的内联元素(span、a、input等),也包括inline-block元素

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>前端ABC-qdabc.cn</title>
  <style>
    .parent {
      text-align: center;
      height: 300px;
      width: 300px;
      background: #ddd;
    }
    .child {
      height: 50px;
      width: 100px;
      background: #aaa;
    }
  </style>
</head>
<body>
  <div>
    <span>span</span><br>
    <input type="text" value="input"><br>
    <div style="display: inline-block;">inline-block</div><br>
  </div>
</body>
</html>

欢迎分享本文,转载请保留出处:前端ABC » CSS 居中的三种方法

分享到:更多 ()

发表评论 0