如何垂直居中一个浮动元素(已知元素的宽高)

原理分析
1-因为#div1的absolute绝对定位是以#div为父级来定位
2-所以#div1的absolute的属性top:50%和left:50%会让#div1的左上角为(0,0)点定位到中间
3-所以#div1设置margin-top和margin-left负的自身宽高的一半,这样#div1的(0,0)点就会定到中心点,看起来#div1就居中了

<style>
  #div{
    width: 800px;
    height: 500px;
    border: 1px solid gold;
    position: relative;
  }
  #div1{
    width: 200px;
    height: 200px;
    background-color: gold;
    position: absolute; /*父元素需要相对定位*/
    top: 50%;
    left: 50%;
    margin-top: -100px; /*二分之一的width,height*/
    margin-left: -100px;
  }
</style>

<body>
  <div id="div">
    <div id="div1"></div>
  </div>
</body>

posted @ 2017-12-26 10:42  七魂六魄  阅读(271)  评论(0)    收藏  举报