【CSS】绝对定位元素的水平居中 和 垂直居中

居谁的中呢,相对于谁绝对定位,就是居谁的中了。

若是水平居中的话,将该绝对定位的元素添加这个样式:

left: 0;
right: 0;
margin-left: auto;
margin-right: auto;

demo:

<!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 {
      padding: 10px
    }
    .abl {
      position:absolute
    }
    .rel {
      position: relative
    }
    .parent-div {
      height: 200px;
      width: 100%;
      border: 1px solid lightcoral
    }
    .child-div {
      width: 100px;
      height: 10px;
      border: 1px solid black;
      left: 0;
      right: 0;
      margin-left: auto;
      margin-right: auto;
    }
  </style>
</head>
<body>
  <div class="rel parent-div">
    <div class="abl child-div">
    </div>
  </div>
</body>
</html>

垂直居中,同理。。


注意:

如果 这个元素没有设置宽度,或者设置为auto;那么它的宽度会变成100%

posted on 2017-10-19 22:00  狂奔的冬瓜  阅读(156)  评论(0编辑  收藏  举报