我們接下面主要是解決一個在IE中Close按鈕圖片顯示不出的問題。我們看到它的CSS使用的了AlphaImageLoader Filter,關於如何使用這個Filter你可以參考這篇POST
一種方法是使用絕對Path,如:
1: AlphaImageLoader(src='http://yourdomain.com/js/fancybox/ fancy_loading.png' ..
另一種方法是使用Javascript,打開jquery.fancybox-1.3.1.css,提到#fancybox-loading.fancybox-ie div 處替換成以下代碼:
.fancybox-ie #fancybox-close { background: transparent; behavior: expression(this.runtimeStyle.filter?'':this.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ (function(){var t=document.getElementsByTagName('link');for(var i=0;i<t.length;i++){var h=t[i].href.split('?')[0];if(h&&/polaroid_gallery\\.css$/.test(h)){return h.replace('polaroid_gallery.css','');}} return '';})() +"Scripts/fancybox/fancy_close.png',sizingMethod='scale')"); }
看上去有點兒funy, 在css使用Javascript.
然後就可以了,這裡我們使用的是IE 8.0.7600.16385。fancybox 1.31 的版本。最好的解決方案是實現自定義的樣式,也不會有這樣的問題。後面我們發面這個網站也在使用fancybox。可以參考:
http://www.microsoft.com/express/windows/
希望這篇POST對您開發有幫助。