如何在IE中进行背景大小的工作?

有什么已知的方式来在IE中做CSS样式的background-size工作?

有点晚了,但这也可能是有用的。 有一个IEfilter,适用于IE 5.5+,你可以申请:

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

但是,这会缩放整个图像以适应分配的区域,因此如果您使用精灵,这可能会导致问题。

规格: AlphaImageLoader Filter @microsoft

我创build了jquery.backgroundSize.js :一个1.5K的jquery插件,可以用作“覆盖”和“包含”值的IE8后备。 看看演示 。

感谢这篇文章,我的跨浏览器幸福的全面CSS是:

 <style> .backgroundpic { background-image: url('img/home.jpg'); background-size: cover; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader( src='img/home.jpg', sizingMethod='scale'); } </style> 

我已经在这段代码中工作了很长时间,但是我想添加更多的浏览器兼容性我已经将它添加到我的CSS中以获得更多的浏览器兼容性:

 -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; 

甚至更晚,但这也可能是有用的。 有一个jQuery-backstretch-plugin可以用作背景大小的polyfill:cover。 我想这一定是可能的(而且相当简单),用jQuery获取css-background-url属性并将其提供给jQuery-backstretch插件。 好的做法是用modernizrtesting背景大小的支持,并使用这个插件作为后备。

在这里 ,我们提到了这个背后插件,jQuery-backstretch-plugin-site在这里 。

以类似的方式,您可以制作一个jQuery插件或脚本,使您的情况(背景大小:100%)和IE8中的背景大小的工作。 所以要回答你的问题:是的,有一种方法,但atm没有即插即用的解决scheme(即你必须自己做一些编码)。

(免责声明:我没有彻底检查backstretch插件,但它似乎与background-size:cover一样)

有一个很好的polyfill : louisremi / background-size-polyfill

引用文档:

上传backgroundsize.min.htc到您的网站,以及.htaccess将发送IE所需的MIMEtypes(只有Apache – 它是build立在nginx,节点和IIS)。

无处不在你在CSS中使用background-size,添加一个对这个文件的引用。

 .selector { background-size: cover; /* The url is relative to the document, not to the css file! */ /* Prefer absolute urls to avoid confusion. */ -ms-behavior: url(/backgroundsize.min.htc); } 

你可以使用这个文件( https://github.com/louisremi/background-size-polyfill“background-size polyfill”)来使用IE8,它非常简单:

 .selector { background-size: cover; -ms-behavior: url(/backgroundsize.min.htc); } 

我试着用下面的脚本 –

 .selector { background-image: url("img/image.jpg"); background-size: 100%; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-repeat: no-repeat; } 

它为我工作!

我认为最好的方法是在HTML文件的顶部添加以下行。 它对我来说工作正常!

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">