css – 在全屏div中居中基于百分比的div

前端之家收集整理的这篇文章主要介绍了css – 在全屏div中居中基于百分比的div前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道margin-top百分比是相对于宽度…这就是为什么,我不能总是垂直和水平居中一个50%高度和50%宽度的div.

http://jsfiddle.net/8BJ94/

调整大小时,margin-top相对于宽度

CSS

#mini {
   height : 50%;
   width : 50%;
   background-color : #FFFFFF;
   margin-top : 25%;
   margin-left : 25%;
}

解决方法

演示

http://jsfiddle.net/8BJ94/1/

#hello {
    position : absolute;
    width : 100%;
    height : 100%;
    background-color : #123456;
    text-align: center;
}
#hello:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}
#mini {
    height : 50%;
    width : 50%;
    background-color : #FFFFFF;
    display: inline-block;
    vertical-align: middle;
}

基于http://css-tricks.com/centering-in-the-unknown/

它是如何工作的?

>水平定心(简易):

#hello {
    text-align: center;
}
#mini {
    display: inline-block;
}

>垂直居中:

>使用ghost元素将线条的高度设置为100%高度:

#hello:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

>使用vertical-align垂直(相对于该行)居中#mini:

#mini {
    display: inline-block;
    vertical-align: middle;
}

浏览器支持

基本上一切和IE 8.

如果使用真实元素作为ghost,而不是:before伪元素,则也可以支持IE7.但它在语义上并不正确.

猜你在找的CSS相关文章