当前位置: 首页 > news >正文

IE6下position:fixed不支持问题及其解决方式

IE6有诸多奇葩,不支持position:fixed就是当中之中的一个。所以在做一些比方固定在顶部或者底部或者固定元素的效果时须要考虑兼容IE6的这个问题。解决方式是用Ie6的hack。

*html {/* 仅仅有IE6支持 */
    background-image: url(about:blank); 
    background-attachment: fixed; /* 固定背景 */
}
#box {
    /* 非IE6浏览器使用固定元素 */
    position: fixed;
    top: 0;
    left: 0;
    /* IE6改为绝对定位。并通过css表达式依据滚动位置更改top的值 */
    _position: absolute;
    _top: expression(eval(document.documentElement.scrollTop));
}
这里还须要解决的是“抖动”的问题,由于当你滚动滚动栏的时候expression下的样式一直在又一次计算而且运行css,会产生延迟的抖动。而在使用固定背景之后,在滚动的时候先运行了css,再又一次计算网页,所以不会产生抖动的现象。
以下是固定究竟部的代码。须要细致看一下:

_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));
PS:在网上看到expression的诸多弊病,也是雅虎34条里面竭力避免使用css表达式的一个重要原因,摘引一段话:表达式的问题就在于它的计算频率要比我们想象的多。不不过在页面显示和缩放时。就是在页面滚动、乃至移动鼠标时都会要又一次计算一次。

给CSS表达式添加一个计数器能够跟踪表达式的计算频率。

在页面中随便移动鼠标都能够轻松达到10000次以上的计算量。

由此可见一斑。




相关文章:

  • Erlang库 -- 有意思的库汇总
  • 《大数据算法》一2.3 时间亚线性判定算法概述
  • 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
  • Setfocus - IE 需要使用setTimeout
  • linux 文件名编码批量转换
  • zabbix监控:监控windows进程
  • CGAL4.10 / CGAL4.13编译
  • multiMap by angular
  • Context源码分析
  • [转]CentO下限制SSH登录次数
  • 《软件工艺师:专业、务实、自豪》一3.2 维基百科对软件工艺的定义
  • SIM卡
  • angular select 默认值
  • Java日期的格式String类型GMT,GST换算成日期Date种类
  • 寸土必争——光复驱动缓存侵占的空间
  • 《剑指offer》分解让复杂问题更简单
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【EOS】Cleos基础
  • 2017-08-04 前端日报
  • 2018一半小结一波
  • 345-反转字符串中的元音字母
  • Docker入门(二) - Dockerfile
  • idea + plantuml 画流程图
  • IDEA常用插件整理
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Node项目之评分系统(二)- 数据库设计
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • session共享问题解决方案
  • 从零开始学习部署
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 漂亮刷新控件-iOS
  • 想使用 MongoDB ,你应该了解这8个方面!
  • #define用法
  • #QT(串口助手-界面)
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (Matlab)使用竞争神经网络实现数据聚类
  • (TOJ2804)Even? Odd?
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (蓝桥杯每日一题)love
  • (三)uboot源码分析
  • (转)iOS字体
  • (转)Sublime Text3配置Lua运行环境
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • ../depcomp: line 571: exec: g++: not found
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .net CHARTING图表控件下载地址
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net 按比例显示图片的缩略图
  • .NET的数据绑定
  • .net生成的类,跨工程调用显示注释
  • @hook扩展分析
  • [c#基础]值类型和引用类型的Equals,==的区别
  • [GN] 后端接口已经写好 初次布局前端需要的操作(例)
  • [linux time命令学习篇] time 统计命令执行的时间
  • [Linux]history 显示命令的运行时间