2012-08-16 38 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>