scssqly轩 2014-06-27
IE6的png图片透明背景问题
使用htc和behavior是解决方案之一,但有个严重问题,路径问题,暂时美欧好的解决方法。
在研究IE中PNG图片透明度问题时,了解到iepngfix.htc这个东西,进而看到大家用behavior来解决该问题。基本意思就是先下个iepngfix的包,其解其中的blank.gif和iepngfix.htc(最新版本还需用上iepngfix_tilebg.js来解决背景repeat问题),在CSS中配置behavior:url("目录/iepngfix.htc");即可。要注意的是如果blank.gif文件另放在其他目录中(即与iepngfix.htc不同目录),则需要修改iepngfix.htc中的“IEPNGFix.blankImg = thisFolder + 'blank.gif';”这一行代码,改成相应的路径即可。
具体见附件的iepngfix包,里面有例子,这里不再缀述。
http://hi.baidu.com/easyphp/item/2ae8f4f6cf02b8b530c199c8
这里要说的是,behavior这个属性MS比较特殊,一般来说CSS文件中的样式路径应该是CSS文件所在目录的相对路径,但behavior:url(...)中的路径却是加载该CSS文件的页面的相对路径。偶调了好一会儿才发现这个问题,虽然算是解决了PNG在IE6下的透明问题,但这个路径问题仍然带来了一些麻烦。不知道大虾们有没有什么好办法可以解决。
在公司看到看到同事设计的网页里用behavior调整PNG图片在IE6下的透明度,再结合expression,查了些资料,又很无耻很懒惰地转了一篇文章过来。
文章来源:http://www.cnblogs.com/JustinYoung/archive/2008/07/21/expression-behavior-in-CSS.html
记下在套用SMARTY发现的一个有趣现象,behavior如果(1)是用在CSS文件里,那么htc文件的相对路径,应该是相对于调用CSS的HTML文件的路径,而不是相对CSS文件的路径。
+
-
*
、