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 相关文章推荐
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
Aug 08 Javascript
jQuery 获取兄弟元素的几种不错方法
May 23 Javascript
js判断鼠标左、中、右键哪个被点击的方法
Jan 27 Javascript
理解Javascript的动态语言特性
Jun 17 Javascript
基于jquery实现即时检查格式是否正确的表单
May 06 Javascript
原生js仿jquery一些常用方法(必看篇)
Sep 20 Javascript
js cookie实现记住密码功能
Jan 17 Javascript
AngularJS Select(选择框)使用详解
Jan 18 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
Sep 20 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
详解jQuery中的isPlainObject()使用方法
Feb 27 jQuery
react-router4按需加载(踩坑填坑)
Jan 06 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
全文搜索和替换
2006/10/09 PHP
php5 pdo新改动加载注意事项
2008/09/11 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
js或css实现滚动广告的几种方案
2010/01/28 Javascript
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
jquery dataview数据视图插件使用方法
2016/12/23 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
2020/10/27 Javascript
简单的编程0基础下Python入门指引
2015/04/01 Python
python爬虫之urllib3的使用示例
2018/07/09 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
python批量生成条形码的示例
2020/10/10 Python
使用CSS3的appearance属性改变任何元素的浏览器默认风格
2012/12/24 HTML / CSS
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
Linux常见面试题
2016/10/04 面试题
《藤野先生》教学反思
2014/02/19 职场文书
竞选村长演讲稿
2014/04/28 职场文书
评职称个人总结
2015/03/05 职场文书
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电