解决方案 »

  1.   

    在做WEB设计时最让人头痛的就是不同浏览器之间的显示差异,这一点尤其以IE6最让人深恶痛绝。最近就碰到一个非常让人头痛的问题,PNG在IE6下的透明效果失效。研究了差不多三天,终于不完美解决了这个问题。 W3C标准推荐使用PNG图片作为网页首选图像资源,但是漂亮、和谐而且有透明效果的PNG却在IE6下显示得一塌糊涂。为了解决这个问题查阅了很多资料,核心原理是使用IE独有的CSS样式中的behaviro属性,最终用如下方法解决: 1.下载iepngfix.zip,其中有三个文件:iepngfix.htc、iepngfix_tilebg.js、blank.gif,将这几个文件解压出来放到所需要使用png做为CSS背景的网站的根目录下。 2.假定一个div需使用png作为背景,标准的做法是: #mydiv { background:url(../img/main.png) no-repeat; width:739px; height:366px; top:12%; left:20%; position:absolute; } 此时该背景能在FF和IE7下正常显示,但是在IE6下会有恐怖的“灰边”。需要使用滤镜来解决。具体做法是使用上面提到的htc文件,在CSS样式的最后定义一个behaviro属性。新的的样式定义为: #login_main { background:url(../img/main.png) no-repeat; width:739px; height:366px; top:12%; left:20%; position:absolute; behavior: url("iepngfix.htc"); } 此时要注意url内的路径是相对于index.htm来说的,而不是相对于定义其样式的css文件。 3.在index.htm文件中需要引入上文中提到的第二个javascript文件,使用 <script language="javascript" src="iepngfix_tilebg.js"> </script> 插入到 <head> </head>中 此时大功告成,使用IE6浏览index.htm文件看看效果,得意的笑吧。顺便提醒一句,对于普通IE6升级成IE7的XP用户,这两种浏览器是无法在同一个操作系统中共存的,笔者比较愚笨,使用了SUN的virtual box装了一个WIN2K3,幸好virtual box提供全屏和无缝模式,使得虚拟机用起来还是蛮流畅的。 优化: 方案一:可以发现,当需要用到的png图片比较多时IE6反应会有些迟钝,因为IE6每次加载需要透明的PNG时都会进行一系列的运算,将png中的 alpha透明部分用blank.gif空白位图代替,可以想象这样的计算规模有多庞大。没办法,这是无法避免的,Vista 和IE7早就出来了,还有非常卓越的FF可供选择,使用IE6的客户所占的份额总会渐渐下降的。观察一下,此时使用IE7打开刚刚index.htm可以发现,本来非常完美而且不需要做任何改动的页面在IE7下也加载得特别慢,看来behaviro属性也影响到了IE7,让IE7也做了繁重的无用功。 此时我们的目标是将IE7解放出来,查阅各种浏览器的hack,发现只有IE6在CSS中能够认识下划线“_”,所以我们在刚刚的CSS样式中的 behaviro前加上一个下划线。而这个下划线无论是FF或者IE7都是不会去解析的,这样IE7就会忽略这个CSS属性,既而解放了IE7。 方案二:既然此次处理的目标就是IE6浏览器,所以在首页中的JS加载语句也可以加上一个小小的改动,加上“ <!--[if IE 6]> <![endif]-->”标签,既而只针对IE6,而解放了其他浏览器,使它们在页面加载时就忽略 iepngfix_tilebg.js这个文件,提高效率。而可怜的IE6,让它接受暴风骤雨般的CPU消耗吧,没办法,爱莫能助了。
      

  2.   

    我老师说CSS样式表在学多浏览器上可能不支持,因此许多图片的处理效果尽量还是用PS来处理!
      

  3.   

    哦,你这个问题我在做项目的时候经历过,只要把前面图片地址目录background:url(../img/main.png) no-repeat;改成background:url(img/main.png) no-repeat就可以在浏览的时候显示了,你只要在浏览器上能够有效果就可以了,在设计视图下没有显示不要紧的!
      

  4.   

    是不是设背景图片的CSS定义了图片为固定样式background-attachment: fixed之类的了......
    http://hi.baidu.com/spvxln/blog/item/ff51d81392703e0a5aaf53c7.html
    或者是
    是图片被撑开了~~
      

  5.   

    美工输出的图片有问题,她输出ymk  ,应该输出rbg