webkit浏览器下面的css top:50%问题

有这么个效果,CSS使DIV层绝对居中【水平和垂直】

我想这个很多的同学都知道这样做

#content{
position:absolute;
width:650px;
height:298px;
left:50%;
top:50%;
margin-left:-325px;   /*设置为宽度的一半*/
margin-top:-149px;    /*设置为高度的一半*/
}

IE6、IE7、Firefox全都正常显示,但是, 在chrome,safari 的webkit系浏览器下面是有问题的。

你可以试下,如果在body很高,比如2000px的情况下,你把滚动条拉到最下面,然后点击按钮来垂直居中显示这个层,

很遗憾,你发现什么都没有,而,当你把滚动条拉到最上面的时候,你会看到层这个时候垂直居中的显示在这里,

我想,这个时候大家应该知道webkit浏览器在解释top:50%的时候和其他的浏览器不同的地方了,也就是说webkit浏览器里面

, 你要加上scollheight的高度,你的margin-top==scollheight-层的高度的一半。

而当position:fixed的时候,却有和其他浏览器里面的absolute的时候是一样的效果,回归统一了,fuck,真恶心

Trackback URL

One Comment on "webkit浏览器下面的css top:50%问题"

  1. 梦芭莎内衣
    29/05/2010 at 7:06 上午 Permalink

    这篇文章太有用了。呵呵moonbasa.okhn.net

Hi Stranger, leave a comment:

ALLOWED XHTML TAGS:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to Comments