ie8兼容background-size屬性


  滿心歡喜地寫代碼,最后測試兼容性的時候發現Logo圖片在IE8下特別大。明顯是background-size在ie8一下不兼容。

  

  我懂得,IE8還是個孩子,我就加幾句你獨有的代碼讓你兼容吧,司空見慣了:

filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../img/logo.png',  sizingMethod='scale');

  然后發現logo變得十分華麗(奧義·雙重logo):

  

  明顯是ie8兩種background屬性設置都同時支持,把一個圖片加載了兩次。以前沒有發現,是因為以前的圖片並不透明,兼容語句引入的圖片完美覆蓋原來的圖片,所以沒有發現問題。現在的logo圖片背景圖片是透明的,所以疊一起了。

  因此我們引用另外一種方法,引入火腿腸文件(.htc)來進行hack,強行讓ie8支持background-size屬性。簡單來說,就是引入js文件來對圖片大小進行配置。

  使用的htc文件的background-size-polyfill項目git地址:https://github.com/louisremi/background-size-polyfill/blob/gh-pages/backgroundsize.min.htc

  然后在css文件里面引用語句,注意url是相對於引用css文件的html的路徑:

        /*IE8 圖片透明不可用filter*/
        -ms-behavior: url(../htc/backgroundsize.min.htc);
        behavior:url(../htc/backgroundsize.min.htc);

  破費解決!小僵屍你學到了嗎!

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM