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'});
 }

  

posted @ 2014-07-17 10:49  E空想  阅读(286)  评论(0编辑  收藏  举报