css3 position fixed居中的问题

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

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

示例代码:http://jsfiddle.net/4Ly4B/33/

如果对你有帮助,欢迎加入:QQ群:124116463,一起讨论前端技术吧!

css3 position fixed居中的问题,布布扣,bubuko.com

时间: 2024-10-29 19:09:06

css3 position fixed居中的问题的相关文章

css中position:fixed实现div居中

上下左右 居中 代码如下 复制代码 div{ position:fixed; margin:auto; left:0; right:0; top:0; bottom:0; width:200px; height:150px;} 如果只需要左右居中,那么把 bottom:0; 或者 top:0; 删掉即可如果只需要上下居中,那么把 left:0; 或者 right:0; 即可 下面附一个DIV 元素在浏览器窗口居中 其实,实现这个效果并不复杂,利用 CSS 中的 position 定位就可以轻松搞

position:fixed 居中问题

设置Css属性position:fixed后如何使这个盒子居中呢?其实也很简单: 就是需要设置给这个div盒子设置属性: left:0; right:0; margin:0 auto; **************************************** 样式: * { padding:0; margin:0; } .fixed { width:300px; height:150px; background-color:red; position:fixed; margin:0 au

关于position:fixed;的居中问题

通常情况下,我们通过操作margin来控制元素居中,代码如下: 1 #name{ 2 maigin:0px auto; 3 } 但当我们把position设置为fixed时,例如: 1 #id{ 2 position:fixed; 3 margin:0px auto; 4 } 以上代码中的margin:0px auto;会出现失效问题,盒子并未居中.这是因为fixed会导致盒子脱离正常文档流.解决方法非常简单,只要应用如下代码即可: 1 #name{ 2 position:fixed; 3 ma

position:fixed div如何居中

div{position:fixed;margin:auto;left:0; right:0; top:0; bottom:0;width:200px; height:150px;} 原文地址:https://www.cnblogs.com/hedianzhan/p/8459901.html

解决IOS safari在input focus弹出输入法时不支持position fixed的问题

该文章为转载 我们在做移动web应用的时候,常常习惯于使用position:fixed把一个input框作为提问或者搜索框固定在页面底部.但在IOS的safari和webview中,对position:fixed的支持不是很好(在IOS5之前甚至还不支持position:fixed).我遇到的其中一个问题就是,在iOS6+环境下,input focus弹出输入法的时候,设置了position fixed的input框浮在页面上了,而不是吸附在软键盘上.效果如图(图片来源于网上): 而Androi

打造IE6的position:fixed整理篇

fixed真的是一个很好的属性.特别是做弹层的时候.可惜的是"国内主流浏览器"IE6大大不支持. 一般的我们都会通过CSS中的表达式来解决这个问题. ? 1 2 3 4 5 .fixed { position:absolute; left:expression(eval(document.documentElement.scrollLeft)); top:expression(eval(document.documentElement.scrollTop)) } 好吧,希望施主的钛合金

父节点使用css的transform: translate(0, 0)时position:fixed在chrome浏览器中无效

今天在做移动端的页面,无意间发现了一个Chrome浏览器下的一个bug,在使用CSS3的transform: translate(0, 0)属性对节点A进行位置转化,此时A节点下面有一个字节点B,节点B使用了position:fixed进行了定位,按照常理节点B应该悬挂在浏览器窗口视图上,不会跟随滚动条而滚动的,但是这个效果在Chrome浏览器下面是无效的,经过测试在IE11.Firefox.safari中均没有问题,在Opera中出现的效果和Chrome中完全一样. 总结一下:在Chrome和

手机QQ内置浏览器position:fixed 属性支持不好的解决方案

在三星android 手机QQ内部打开连接时,有的手机QQ版本低时,会对position:fixed 支持不好. 表现在position:fixed 后 再用margin:0 atuo; 居中时,页面不居中: 可以这样解决:在外层再套一个div层.将position:fixed 属性放在外层然后定宽: 里面的层width:100%,margin:0 auto; 就可以完美支持低版本手机QQ position:fixed 后margin:0 auto; 不居中的问题.

盒子绝对定位 position:foxed ; 居中

方法1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> body{ width: 100%; height: 1600px; background-color: #c9c7c7; } p{ max-width: 500px; width: 100%;