+ -
当前位置:首页 → 问答吧 → Position Fixed在IE6下宽度溢出的问题

Position Fixed在IE6下宽度溢出的问题

时间:2011-01-12

来源:互联网

先上代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Position fixed in IE6</title> <style> * html { background-image: url(about:blank); background-attachment: fixed; } #Fixed { position: fixed; bottom:0; left: 0; background: #F5F5F5; border-top: 4px solid #D3D3D3; padding: 5px; width: 100%; } * html #Fixed { position: absolute; bottom: auto; top: expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0))); } </style> </head> <body> <br /> <br /> <br /> <br /><br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <div id="Fixed">Something in here~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div> </body>
 提示:您可以先修改部分代码再运行
在IE6下 Fixed问题解决了 但是宽度总会超出大概10px 请这是什么原因?
谷歌好久 都没有这方面的资料 尝试过inline了 也是无效 求真相

[ 本帖最后由 Crossnite 于 2011-1-12 16:36 编辑 ]

作者: Crossnite   发布时间: 2011-01-12

写个reset

作者: radom   发布时间: 2011-01-12

这是因为你的#Fixed中有width:100%和padding: 5px的问题!

你的#Fixed选择100%的对象是body

在IE中width = width+margin+padding

所以你有一个padding:5px;所以会这样

解决方案给body一个width:100%就OK了~~~

作者: mengdasheng   发布时间: 2011-01-12

试了 还是无效 呵呵

我自己用另个方法解决了 可能不太合理 不过能用就行
* html #Fixed里只保留上下padding
然后让#Fixed里的第一个子元素padding-left
就解决你说的这个问题了

作者: Crossnite   发布时间: 2011-01-12