Bootstrap

水平垂直居中子元素宽高未知情况下 ,子元素不显示的原因

设置position:absolute产生了BFC,并且除了overflow其他产生BFC的条件会使得元素从
内部变为文本类元素,不设置宽高的时候其宽高由内容决定,所以div子元素里面写数字才会显示出来

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <style>
    .one {
      width: 500px;
      height: 500px;
      border: 1px solid black;
      position: relative;
    }
    .div1 {
      background-color: rebeccapurple;
      /* 设置position:absolute产生了BFC,并且除了overflow其他产生BFC的条件会使得元素从
      内部变为文本类元素,不设置宽高的时候其宽高由内容决定,所以div子元素里面写数字才会显示出来 */
      position: absolute;
      left: 50%;
      top: 50%;
      transform:translate(-50%,-50%)

    }
  </style>
  <body>
    <div class="one">
      <div class="div1">1233</div>
    </div>
  </body>
</html>

;