码迷,mamicode.com
首页 > 其他好文 > 详细

探讨div水平垂直居中的方法

时间:2015-04-10 19:27:05      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

我们在开发当中经常会遇到需要将一个div(或者说是一个元素)水平垂直居中,小弟知道的可以实现的方法有一下三种。

第一种:利用绝对定位的方法,具体实现可以看这里

<div id = "parent">
    <div id = "child">
    </div>
</div>
#parent{
  position:relative;
  height:500px;
  background:red;
}
#child{
  position:absolute;
  width:100px;
  height:100px;
  top:50%;
  left:50%;
  margin-top:-50px;
  margin-left:-50px;
  background:blue
}

第二种:利用css3样式flex-box的方法,具体实现方法可以看这里

<div id = "parent">
    <div id = "child">
    </div>
</div>
#parent{
  height:500px;
  display:-webkit-flex;
  background:red;
}
#child{
  width:100px;
  height:100px;
  margin:auto;
  background:blue
}

第三种:就是利用javascript获取div宽高,然后再动态设置div的top,left。

上面三种方法:

第一种方法的缺陷就是必须知道子div的宽高不然无法做到水平垂直居中;

第三种方法利用javascript来设置,最大的缺陷就是不能根据屏幕,窗口改变而立即改变,需要刷新,所以基本不推荐这种方法。

第二种方法是我最推荐的方法,利用flex-box来设置是最完美的,不管你知不知道子div的宽高都无所谓,它都能够实现完美的水平垂直居中。

探讨div水平垂直居中的方法

标签:

原文地址:http://www.cnblogs.com/brianwong/p/4415090.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!