项目中有个地方需要根据情况显示不同的图片,而由img.src得到的路径是
一个绝对路径感觉替换起来比较麻烦,所以想到用css来改变图片。在网上
找了找大家都说css2.0中没有控制img的src属性的办法(好像3.0就有了,
拭目以待),不过大家提供了一种曲线救国的方法,如下
.menu_close{
text:expression(src="images/menu_close.gif");
}
.menu_open{
text:expression(src="images/menu_open.gif");
}
.menu_leaf{
text:expression(src="images/menu_leaf.gif");
}
就是在css中用js来控制。移植到项目中挺好用的,当时一心只想解决这个问题
也没有想别的,网上只是说这种方法可能占资源多。
恶梦开始了。。。。。。
第二天有个同事说他的IE浏览器坏了,所有页面的text文本框一点,IE直接死掉了。
当时以为是他的IE出问题了,他当时用的是IE8卸载改用IE7就没有问题了,认定
是他的IE出问题了。后来自己在开发中也碰见这个问题了,难道我的IE也出问题,
昨天一切还没有问题呢,郁闷。
(1)由于在进入页面的用Js递归创建了菜单,以为是递归方法没有弄好发生了
传说中的内存泄露,于是改啊改改到黄花菜都凉了还是老样子。
(2)我们项目的主界面是用的IFrame来布局的,上面说的含有改变img的src的页面
简称A页面,突然发现A页面不出现在任何IFrame中就不出现IE死掉的情况。仔细研究
才发现是由于text:expression(src="images/menu_close.gif");的原因。
删掉css样式,用笨办法控制图片src后终于ok了。
看来IE8对text:expression的支持很不好,以后要小心,给大家提个醒。
后记:
解决问题后去网上搜索才发现IE8不再支持CSS expression,真晕。
分享到:
相关推荐
让IE6、IE7、IE8支持CSS3的圆角、阴影样式.
这是一个对IE8及以下做前端兼容的文件工具...--对于ie6到ie8做兼容,兼容h5,css3等新特性--> <!--[if (gte IE 6)&(lte IE 8)]> [removed][removed] [removed][removed] [removed][removed] <![endif]-->
但凡是前端工程师,都知道IE6,IE7,IE8不支持、或者不完全支持CSS3的属性。 CSS3 有很多很强大、绚丽的效果,比如,圆角,阴影,渐变透明,渐变背景,等等。 因为IE6时代,没有什么标准,而因为各种原因,IE6用户...
IE6、IE7、IE8对css和js支持方面差异的研究
让IE7 IE8 完全支持CSS2.1和部分CSS3标准。
iecss3.htc css3圆角支持文件
IE6, IE7, IE8 CSS 兼容速查表
引入PIE.htc使ie7,ie8 支持css3 border-radius圆角效果
让IE8和IE9支持Html5和Css3,压缩包里包括css3-mediaqueries.js、html5shiv.js、selectivizr.js
DIVCSS5圆角实例 CSS3版本圆角实例, 支持低版本IE6-IE9浏览器
Dean Edwards 编写了一个 ie7.js 可以使您的IE6支持支持CSS2的选择器,以及CSS3的许多标签。您只需要在<head></head>添加以下语句即可 <br><!--[if lt IE 7]><script src="IE7.js" type="text/javascript">...
ie-css3(让ie678支持css3).rar
DIV+CSS相对IE6、IE7和IE8的兼容问题
IE8的浏览器经验会打乱网页,在网页<head></head>中间加上以下代码,只要IE7的页面兼容,IE8就没问题
搜集整理的CSS HACK,也即是在多种浏览器(主要是ie6 ie7 ie8 ff)下样式统一的解决办法。 内容还是较全的,前台开发中常见的兼容性问题都可以找到解决方法,值得研究。 包括各浏览器CSS hack,技巧。有实例。
让 ie 6 ie7 ie8浏览器 支持css3的通用js代码
CSS样式兼容IE6、IE7、IE8、FF火狐浏览器的方法
针对firefox ie6 ie7 ie8的css样式hack
区别IE和非IE浏览器的兼容,css兼容
让ie支持css3部分功能,阴影背景效果、圆角效果、渐变背景效果