无hack完美兼容的div垂直居中解决方案

研究一个经典的CSS问题:DIV垂直居中。结合网上的各种方法自己总结出了一个无hack完美的兼容IE6,7,FF的垂直解决方案.你可以看下面的图来理解第三种方法               预览效果

vertical-align.jpg

1.当div内容为单行时,众所周知将div的height和line-height设置成一个相同的值。
2.当div高度不固定时,将父div的padding-top和padding-bottom设置成一个相同的值使其自适应。
3.当div高度固定时,有两种情况:
(1)非IE浏览器中可用如下代码使其垂直居中

.box{ display:table-cell; vertical-align:middle;}

(2)IE中不支持上面的属性,所以下面就得用blueidea上的一个方法了,代码如下

.box{ position:relative; }
.inner{ position:absolute; top:50%; left:0;}
.innerbox{ position:relative; top:-50%; left:0;}

继续阅读 »