做前端的同学都应该听说或者用过,是一段脚本,可以让ie实现css3里的圆角和阴影效果:http://fetchak.com/ie-css3/
用法大致如下
.box { -moz-border-radius: 15px; /* Firefox */ -webkit-border-radius: 15px; /* Safari and Chrome */ border-radius: 15px; /* Opera 10.5+, future browsers, and now also Internet Explorer 6+ using IE-CSS3 */ -moz-box-shadow: 10px 10px 20px #000; /* Firefox */ -webkit-box-shadow: 10px 10px 20px #000; /* Safari and Chrome */ box-shadow: 10px 10px 20px #000; /* Opera 10.5+, future browsers and IE6+ using IE-CSS3 */ behavior: url(ie-css3.htc); /* This lets IE know to call the script on all elements which get the 'box' class */ }
最近用到了这个东西,发现动态改变div的内容之后,这段脚本生成的vml会出现变形。。
所以加了一个手动刷新的函数,通过innerHTML赋值之后调用一下就可以了
el.innerHTML = '....'; if(window.update_css3_fix) update_css3_fix(el);
如果使用jquery就不用这么麻烦,在你的框架里加一段
(function() { if (!jQuery.browser.msie) return; jQuery.fn.__ohtml__ = jQuery.fn.html; jQuery.fn.html = function(value) { jQuery(this).__ohtml__(value); this.each(function() { update_css3_fix(this); }); return this; }; })();
另外官网下载的脚本还会产生yourdomain/none的404请求,也已经修复
修改之后的文件ie-css3.htc

update_css3_fix 在哪里?
2010年12月10日 @ 10:03
你好, 我也遇到了你同样的问题, 但是没太明白你说的方法如何具体操作
望详细解释,
比如
第一种方法具体写在哪里?怎么写?
第二种方法在框架里加一段,这个框架指的是?
谢谢先~
2011年11月25日 @ 00:53
非常好,你真厉害,呵呵
2011年12月8日 @ 11:27