IE6是一个令人作呕的话题,个人极为厌恶IE6,并且恨屋及乌,不过没有办法,中国就是这么一个神奇的国度,到了2010年仍然有不少人以使用“简单、快捷”的IE6为荣,不知道浏览器为何物的也更加不提了,而这种人往往又是互联网中广告点击的生力军,消费能力强,所以你必须照顾到他们的感受。
我对IE6恨之入骨的重要原因之一,恐怕就是对PNG各种半透明的支持情况了。我们在其他浏览器可以轻松实现的图片半透明效果,到了IE6这儿就得纠结蹉跎,虽然IE6勉强的支持PNG-8格式的伪半透明,但这个和GIF图片的效果相差并不大,如果你使用PNG-32的话,你所有的半透明区域都会变成灰底。
网上有不少IE6上实现PNG半透明的工具,各有千秋,大多数使用了IE的一个滤镜:AlphaImageLoader,使用后会有各种诸如问题(比如background-position和background-repeat属性支持的不完善,有些还会擅自更改背景图片的尺寸)。DD_belatedPNG提供了一种新的选择,他使用微软的VML语言对PNG图片进行重新绘制,以达到半透明的效果,并且能支持background-position和background-repeat属性。
查看Demo | 打包下载
其使用方法也不难,先在此下载DD_belatedPNG ,然后插入head标签中:
<!--[if IE 6]>
<script type="text/javascript" src="DD_belatedPNG_0.0.8a-min.js"></script>
<script type="text/javascript">
DD_belatedPNG.fix('.png');
</script>
<![endif]-->
将所有需要需要修补的元素加上class=”png”即可
PS:对于:focus和:hover伪类,则需要将以上代码中的 :
DD_belatedPNG.fix(‘.png’);
修改为 :
DD_belatedPNG.fix(‘.png,a.png:hover,.png:focus’);
BTW:虽然这样可以缓解IE6下PNG的问题,不过会带来性能问题,还有一些其他的问题,自然是不如对png半透明有原生支持的浏览器的。所以,赶快让该死的IE6下地狱吧。阿门!
Tags: anti_ie6, DD_belatedPNG, dev | 评论 »
说在前面:本文只作为一个笔记留存用以达到语言重用的效果,可能对于很多大虾过于入门级,请直接无视。
基本上一说起ajax,大家都感觉到比较神秘,我以前也是这样,总觉得这个和荷兰一家足球俱乐部同名的玩意儿是个高深莫测的东西。其实ajax之所以看上去那么蛋疼主要是为了解决各浏览器对js的兼容性问题而写了太多的代码,以至于一看见就头昏。强大简易的jquery扭转了这个局面。
首先说下个人对ajax的简单理解:html、css、js(jQuery等)是给浏览器看的,PHP是给服务器看的,js可以和php对话,而php可以生成html、css和js,以前我们浏览网页的时候,总是通过操作html,通过php告诉服务器我们需要什么内容,然后服务器会在一个新的页面将你请求的信息展示给你;而ajax,即是我们操作html时告诉js,然后js告诉php,php得到命令以后到服务器去取了你要的信息交给js,js再将此信息展示给你。这么看来ajax貌似更复杂一点,但是他带来几个好处:1. 你不需要进入一个新的页面就可以看到你所请求的信息;2.php只需要提取出产生了变化的有限信息即可,减少了重复。
简单扼要的说就是ajax模拟了提交表单的行为,但是把刷新页面这件事交由js在后台偷偷完成了。
阅读全文»
Tags: ajax, dev, jquery, php | 9 评论 »