首页 > 代码库 > postion:fixed和margin:0 auto的使用

postion:fixed和margin:0 auto的使用

很多同学将顶部菜单固定,使用postion:fixed,然后使用margin:0 auto进行居中,发现margin:0 auto并不起作用。

通常,我们要让某元素居中,会这样做:

 

#element{margin:0 auto;}

  

如果还想让此元素位置固定呢?一般我们会添加position:fixed,如下:

 

#element{position:fixed;margin:0 auto;}

  

但是这样做的结果就是,元素不居中了。这说明fixed使对象脱离了正常文档流。

解决方案:

 

#element{position:fixed;margin:0 auto;left:0;right:0;}

  


但是在IE7以下的版本中无法工作,要将其更改为:

 

#element{position:fixed;margin:0 auto;left:auto;right:auto;}

  

最后我们可以这样:

 

if ($.browser.msie && parseInt($.browser.version, 10) <= 7) {    strAlertWrapper.css({position:‘fixed‘, bottom:‘0‘, height:‘auto‘, left:‘auto‘, right:‘auto‘}); }