Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法


Posted in Javascript onDecember 06, 2010

今天又回顾了一下这个插件,然后发现它在IE6下面工作的时候,显示起来是不正常的,tip经常出现在很离谱的位置。问题还有,由于tip的显示效果没有用到任何图像,都是纯的CSS,所以里面用CSS实现的三角形在IE6下是无法工作的,会显示一块有色区域,很丑,所以我就想动手改它一下。先上一张对比图好了:

Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
js方面的代码肯定是没问题的,问题出CSS上,Colortip用的是position进行定位,在IE6下面可能存在着一点问题。而且由于IE6不支持border-color:transparent的属性,所以tip下面的三角形也有问题。下面修正它吧。
打开插件的colortip-1.0-jquery.css这个文件,在里面找到如下代码:

.pointyTip,.pointyTipShadow{ 
/* Setting a thick transparent border on a 0x0 div to create a triangle */ 
border:6px solid transparent; 
_border:6px solid #123456; /*指定一个特别的颜色值,为使用chroma滤镜作准备*/ 
bottom:-12px; 
height:0; 
left:50%; 
margin-left:-6px; 
position:absolute; 
width:0; 
font-size:0; /*IE下空标签会有一个高度,把font-size设为0可以清除这个高度*/ 
_filter:chroma(color=#123456); /*为IE6使用chroma滤镜将颜色#123456过滤成透明的*/ 
}

如果大家自行看一下代码的话,可能会发现我贴出来的代码和原来相比有点不同,但是我已经把注释写在里面了,应该可以理解吧。 下面继续:
.pointyTipShadow{ 
/* The shadow tip is 1px larger, so it acts as a border to the tip */ 
border-width:7px; 
bottom:-14px; 
_bottom:-15px; /*将小三角形的位置微调一下更准确*/ 
margin-left:-7px; 
} 
.colorTipContainer{ 
position:relative; 
text-decoration:none !important; 
_zoom:1; /*不知道为什么,这里加上zoom:1后IE6下使用left:50%才能得到正确的位置,难道内联的元素没有layout?无法准确表达……*/ 
}

好了,到这里就修正完毕了,在我的机器上,用IEtester和VMware虚拟机的XP+IE6都测试通过,你也可以试试效果。有任何问题可以向我反馈,我能改则改。代码好理解,不能理解的直接用插件就行了。

插件网站 | 原版DEMO | 改后DEMO | 修正后的插件下载

再补充一句,原版和改后的DEMO在高级浏览器里面的效果是一样的,没区别,但是用IE6试试就知道了。希望我做的这一点点微不足道的工作,为喜欢这款插件的朋友们带来方便,^_^
关于纯CSS的方法实现三角形的效果,可以参看Mr.Think的这篇文章,很详细很不错的技巧CSS技巧之圆角背景与三角形。

Javascript 相关文章推荐
javascript各种复制代码收集
Sep 20 Javascript
jquery 操作iframe的几种方法总结
Dec 13 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
Jun 06 Javascript
node.js中的fs.fchown方法使用说明
Dec 16 Javascript
jquery自定义表单验证插件
Oct 12 Javascript
浅谈AngularJs指令之scope属性详解
Oct 24 Javascript
谈谈jQuery之Deferred源码剖析
Dec 19 Javascript
基于React实现表单数据的添加和删除详解
Mar 14 Javascript
Vue2 监听属性改变watch的实例代码
Aug 27 Javascript
Angular实现svg和png图片下载实现
May 05 Javascript
JS实现纵向轮播图(初级版)
Jan 18 Javascript
使用next.js开发网址缩短服务的方法
Jun 17 Javascript
使用JS进行目录上传(相当于批量上传)
Dec 05 #Javascript
js对象的构造和继承实现代码
Dec 05 #Javascript
收集的一些Array及String原型对象的扩展实现代码
Dec 05 #Javascript
script标签的 charset 属性使用说明
Dec 04 #Javascript
本地对象Array的原型扩展实现代码
Dec 04 #Javascript
悄悄用脚本检查你访问过哪些网站的代码
Dec 04 #Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
Dec 04 #Javascript
You might like
PHP Mysql编程之高级技巧
2008/08/27 PHP
PHP5 的对象赋值机制介绍
2011/08/02 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
取得父标签
2006/11/14 Javascript
JS DOM 操作实现代码
2010/08/01 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
React.js入门实例教程之创建hello world 的5种方式
2016/05/11 Javascript
javascript宿主对象之window.navigator详解
2016/09/07 Javascript
更靠谱的H5横竖屏检测方法(js代码)
2016/09/13 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
2017/11/21 Javascript
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
vue配置文件实现代理v2版本的方法
2019/06/21 Javascript
[01:53]DOTA2超级联赛专访Zhou 五年职业青春成长
2013/05/29 DOTA
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
python中二维阵列的变换实例
2014/10/09 Python
详解用python实现简单的遗传算法
2018/01/02 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
python时间日期操作方法实例小结
2020/02/06 Python
啦啦队口号大全
2014/06/16 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
公司规章制度范本
2015/08/03 职场文书
医德医风学习心得体会
2016/01/25 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL