解决不同分辨率下浮动div层位置问题
来源:互联网 发布:yum安装软件原理 编辑:程序博客网 时间:2024/04/29 12:39
最近在开发玩课网站的时候,首页顶上设计了几个浮动层,刚开始在IE6和7下测试时是正常的,后来换到火狐下变不正常了,调整了兼容性问题后,火狐也正常了,但偶尔总会发现还有不正常现象,当时未想到是分辨率问题,后来几台电脑一起测的时候才注意到,这里面既有兼容性问题,也有分辨率问题,找到问题的症结后,就可以有相应的解决办法,就是采用JS动态处理,这里采用了JQuery,这里简单记一下处理过程。
首先需要知道IE6、7和其他浏览器都不同,他们的padding-left是相对的,能够相对左边的浮动div进行计算的,而其他浏览器是根据屏幕左边距来计算的,所以可以在CSS里默认设定IE6,7的样式,其他浏览器则采用JS计算。如果想看最终效果可以在www.wanke001.com页面上看一下,下面是具体的参考代码。
//页面加载时调用
$(document).ready(function () { SetBottomNav(); }) function SetBottomNav() { if (screen.width > 1024) { var left = $(".main_01 .left").offset().left; var w = 230 + left - 8;
//非IE浏览器 if (navigator.userAgent.indexOf("MSIE") < 0) { $("#bottomNav").css("padding-left", w + "px"); } else { var ua = navigator.userAgent; var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); if (re.exec(ua) != null) { rv = parseFloat(RegExp.$1); }
//只处理IE8及以上的 if (rv >= 8.0) $("#bottomNav").css("padding-left", w + "px"); } } }
然后在body的onresize中调用,解决窗口大小变化时也能够自动调整
<body onresize="SetBottomNav();">
- 解决不同分辨率下浮动div层位置问题
- 不同分辨率下Div位置局中
- IE7下浮动(float)层不能实现环绕的问题
- IE6下浮层闪烁的问题
- 解决qt在相同分辨率不同宽度的屏幕下字体显示位置不一样的问题
- IE6下浮动元素边距加倍问题分析
- 鼠标下浮动文字
- 鼠标下浮动文字
- 不同分辨率调整div高度
- 一句white-space:nowrap解决IE6,IE7下浮动元素不自动换行
- 解决JPG文件和NSImage分辨率不同的问题
- 使用@media screen解决分web不同分辨率问题
- Android解决不同分辨率距离一致的问题
- android不同分辨率问题
- css布局:IE下浮动(float)bug
- IE7下浮动元素margin-bottom失效
- 网站前端设计中解决不同分辨率电脑测量尺寸不同的问题
- 让DIV居中,兼容不同分辨率
- smartclient——DynamicForm
- android解析服务器发过来的XML代码
- jquery 实现iframe 自适应高度
- windows server 2008 r2, 每隔一段时间自动关机
- WM_USER 与 WM_APP
- 解决不同分辨率下浮动div层位置问题
- 对比objdump与readelf readelf objdump nm
- Extjs4中up()和down()的用法
- SQL当修改表的时候,必须重新编译与之相关联的视图。
- Asp.Net4.0/VS2010新变化(3):webform中也可以直接url路由2
- iOS动画效果和实现
- 分步学习Struts(一)框架
- java shell排序
- Easy Solution to implement clone java object