Internet explorer IE8背景大小解决方案

Internet explorer IE8背景大小解决方案,internet-explorer,css,retina-display,Internet Explorer,Css,Retina Display,我正在尝试修复一个显示问题,该问题涉及IE8及以下版本中的背景大小CSS3属性。为了优化视网膜显示的徽标,我实现了以下代码: .logo { background: url('../img/logo_sm.png') no-repeat scroll transparent; text-indent: -999em; transition: opacity 0.2s ease; -webkit-transition: opacity 0.2s ease; -moz-transition: opa

我正在尝试修复一个显示问题,该问题涉及IE8及以下版本中的背景大小CSS3属性。为了优化视网膜显示的徽标,我实现了以下代码:

.logo {
background: url('../img/logo_sm.png') no-repeat scroll transparent;
text-indent: -999em;
transition: opacity 0.2s ease;
-webkit-transition: opacity 0.2s ease;
-moz-transition: opacity 0.2s ease;
margin: 0;
width: 141px;
height: 32px;
background-size: 141px 32px;
display: inline-block;
然后我添加了这些线条,以使IE8正确调整徽标的大小(因为它不考虑背景大小)

现在的问题是,在所有版本的IE中,原始背景图像显示在来自这些过滤器的新的、适当调整大小的图像后面


我如何设置它,使IE8及以下忽略原始背景属性,只渲染一幅图像?如果可能的话,我想这样做而不需要单独的IE样式表

这是我的方法,在工作中我们不再支持少于IE7的版本。 1) 覆盖IE7 2) 覆盖IE8和IE9 3) 将其添加回IE9

*selector {background:none;} /* IE7 */
selector {background:none\9;} /* IE9, IE8 */
:root selector {background: url('../img/logo_sm.png') no-repeat scroll transparent\9;} /* IE9 */
*selector {background:none;} /* IE7 */
selector {background:none\9;} /* IE9, IE8 */
:root selector {background: url('../img/logo_sm.png') no-repeat scroll transparent\9;} /* IE9 */