什么是一种安全的方式来检测CSS3中的background-size: cover支持,特别是在IE < 9中?以下测试在IE < 9中返回了错误的结果,因为它实际上将background-size设置为cover:
根据http://www.standardista.com/css3/css3-background-properties/#bg11网站的说法,IE 6/7/8应该返回auto,仅支持cover和contain。 编辑: 我想使用自己的解决方案,但我已经检查了Modernizr使用的代码。 看起来他们使用了相同的技术,在IE < 9中给我错误的正面结果:设置backgroundSize = 'cover',然后检查style.backgroundSize == 'cover'。
请参见我的JSFiddle。
div.style.backgroundSize = 'cover';
当我测试以下内容时,得到的唯一真实结果是:
if ('backgroundSize' in div.style)
根据http://www.standardista.com/css3/css3-background-properties/#bg11网站的说法,IE 6/7/8应该返回auto,仅支持cover和contain。 编辑: 我想使用自己的解决方案,但我已经检查了Modernizr使用的代码。 看起来他们使用了相同的技术,在IE < 9中给我错误的正面结果:设置backgroundSize = 'cover',然后检查style.backgroundSize == 'cover'。
请参见我的JSFiddle。
cover
的测试 https://github.com/Modernizr/Modernizr/blob/master/feature-detects/css/backgroundsizecover.js - eyelidlessness