2012-08-16 32 views
1

我正在爲較新的瀏覽器構建網站,但我也希望它在IE8中看起來體面。一切都還好,直到遇到問題。我發現background-size在IE8中不起作用。經過一番調查後,我發現了某種「黑客」,但它對我沒有任何作用。如何使「背景大小」在IE8中工作?

也許我做錯了什麼;請看看這段代碼,也許會提出一個解決方案,可以修復IE8中的背景大小(最好是CSS解決方案)。

.logo { 
    width: 190px; 
    height: 204px; 
    background-image: url("../img/logo.png"); 
    background-repeat: no-repeat; 
    background-size: 190px 204px; 

    /** This is the so called IE8 hack, but it doesn't seem to work **/ 

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

    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../img/logo.pn',sizingMethod='scale')"; 

    /** End of Hack */ 

    position: absolute; 
    display: block; 
    z-index: 99; 
    margin: -73px 0 0 405px; 
} 
+0

您在最新'-ms-filter'聲明中,「src ='../img/logo.pn'」而不是「src ='../img/logo.png'」中有錯字。可能這是它不起作用的原因?另外,實際上不需要同時指定'filter'和'-ms-filter',IE8的所有版本都支持這兩種版本,因此您可以完全刪除後者。 – 2013-07-12 12:36:12

回答

1

重點是視網膜屏幕,對吧?由於這種屏幕的市場份額並不大,我寧願先使用「標準」圖像,然後在需要時用高分辨率替換它。

例如,您可以使用Retina.js

或者您可以簡單地使用圖片標籤。它將在IE8上運行。不要忘記定義寬度&高度屬性。

<a href="/" class="logo"> 
    <img src="img/logo.png" width="190" height="204" alt="Bryuvers"> 
</a>