终结IE6下背景图片闪烁问题
作者:cncxz 来源:cncxz博客 时间:2009-03-04 10:11:00
a {}{
background:url(images/normal.gif);
}
a:hover {}{
background:url(images/hover.gif);
}
如果为超级链接定义上述的css样式以实现鼠标悬浮时的动态效果,在firefox下是没有什么问题的,第一次加载之后,浏览器都会从缓存读取背景图片;而IE6在这里有一个bug,它每次都从服务器端读取背景图片,结果就是,若服务器反应较慢hover效果就会出现短暂的空白,令人极度不爽。
一直以来都是通过“两张背景图片合并、background-postion控制位置”的方式解决问题的,效果差强人意。今天无意中从一个老外的网站上发现了一个比较妥善的解决方案,具体来说就是在页面中加入一段简单的javascript脚本,告诉ie6:本地有背景图片的话就不要麻烦服务器了。
document.execCommand("BackgroundImageCache",false,true);
关于这段脚本的放置方式有两种:
1.纯css方式,在css中加入如下代码
html {}{
filter: expression(document.execCommand("BackgroundImageCache", false, true));
}
2.随便在页面中哪个位置(head、body或者onload)调用上面提及的脚本,例如:
<script type="text/javascript">
document.execCommand("BackgroundImageCache", false, true);
</script>
鉴于expression严重影响浏览器效率,建议采用第二种方式。
最后,总结完整方案:普通、hover状态对应的图片合并成一张,css中通过background-postion控制其位置,页面中加入从缓存读取背景图片的javascript脚本。
英文地址 http://evil.che.lu/2006/9/25/no-more-ie6-background-flicker
标签:闪烁,背景,图片,ie6,脚本
0
投稿
猜你喜欢
python的numpy模块实现逻辑回归模型
2022-10-01 07:05:59
python动态参数用法实例分析
2021-03-02 06:27:51
Python 类,property属性(简化属性的操作),@property,property()用法示例
2022-01-04 19:21:53
详解python3中的真值测试
2022-03-10 13:56:59
用于ETL的Python数据转换工具详解
2022-11-09 18:29:05
python支持多继承吗
2023-10-14 11:22:48
对python3标准库httpclient的使用详解
2021-09-07 06:48:02
php注册登录系统简化版
2024-04-30 08:48:24
最新idea2021最新激活超详细教程
2023-08-08 01:50:17
pandas 实现将重复表格去重,并重新转换为表格的方法
2023-09-09 05:26:58
主流浏览器性能比较
2009-10-19 14:34:00
Python多线程与多进程相关知识总结
2021-07-06 21:37:16
javascript实现九宫格相加数值相等
2024-04-17 10:32:53
Python爬虫框架scrapy实现的文件下载功能示例
2023-09-23 09:41:56
Python实现常见的回文字符串算法
2022-07-10 10:32:29
基于Python实现五子棋-(人机对战)
2022-07-04 06:23:48
Python ttkbootstrap的介绍与使用教程
2022-09-14 11:36:22
Python字典的基础操作
2023-02-27 06:25:18
JavaScript中Object基础内部方法图
2023-08-15 02:36:11
用户 jb51net 登录失败。原因: 该帐户的密码必须更改
2024-01-13 05:58:46