欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

完美解决png8毛边问题_html/css_WEB-ITnose

程序员文章站 2022-05-26 21:59:57
...
  以前做pc端时PNG8图片在ie6下的解决方案是这么做的:

  将PNG保存为PNG24的,然后在项目中加上DD_belatedPNG.js这样的库,这样png24在ie6中的白色底就透明了。此方法看上去相当的完美,因为第一方便后期的图片的维护,一个js库就轻轻松松搞定了!为我们这群前段妹子省了不少心哈 O(∩_∩)O!第二,可谓是为服务器也减少了不少负担。

  但是不幸的事发生了,就在本周做微信智慧生活的活动页时可真叫纠结。DD_belatedPNG.js跟框架的js冲突了(具体什么原因没去查,因为时间实在太紧迫了,估计是框架不太完美),首先介绍下此次活动页面的框架,全屏滑动(支持鼠标滚动切换),页面内容到也简单,毕竟只是个活动页嘛(*^__^*) …… 有兴趣的小伙伴欢迎点击(http://action.weixin.qq.com/payact/readtemplate?t=pc/2015/wisdom_life/index_tmpl)

  好了,回到正题,在此项目中添加DD_belatedPNG.js后,png24在ie6中不仅没有呈现透明效果,还影响了部分绝对定位,这就太伤心了(;′⌒`) ,为了能够在预估的时间内上线,所以当时就没太纠结了,因为也没啥好纠结的,引用大婶的库,难免存在冲突。最后在导师的指点下,还是决定ie6的用png8的图片,其余浏览器用png24位的。

  问题又来了…… 之前png8多半是会有毛边的,所以个人很是不喜欢。但是在导师的指点下还真没有了呢,效果基本跟其他浏览器一致。这种方法也是非常简单的,就是在保存的web格式的时候选择png8,将杂边填充个接近背景色(或是背景色)的即可,然后到样式中对其做出相应的补丁即可,这个方法真的是太完美了,几乎找不到瑕疵!上张在ie6中的效果吧O(∩_∩)O哈哈~

  ie6中效果

  Chrome效果

  说到这里,顺便说说这次遇到的另一问题吧,以前没太注意。一般情况,拿到一个项目时我们会先跟产品、设计那边沟通,完了才会是我们的工作,什么分析设计稿啊,搭建框架啊……等等,搭建框架的时候会对页面所要用到的标签进行初始化,那么对于这种标题类的,h1、h2、h3、h4、h5、h6,虽然已经对其初始化了,但是本身还是有个类似于padding、margin的高度,这是用padding、margin是没办法消除掉的,也知道本次项目中才知道有个方法可以解决此类问题,真是解决了困扰已久的*烦哈~也怪自己平时看的书少,到现在才知道,这个强有力的武器就是将line-height设置为1就OK了,写法是这样的line-height: 1;px都省了,~\(???)/~