检测对背景大小的支持:封面
Detect support for background-size: cover
检测支持CSS3背景大小的保存方法是什么:cover,尤其是在IE<9?
以下测试在IE<9,因为它实际上将背景大小设置为封面:
div.style.backgroundSize = 'cover';
我在测试时得到的唯一真实结果
if ('backgroundSize' in div.style)
但据网站介绍http://www.standardista.com/css3/css3-background-properties/#bg11,IE 6/7/8应返回auto,不支持仅覆盖和包含。
编辑:
我想使用我自己的解决方案,但我已经检查了Modernizr使用的代码。他们似乎使用了在IE<9:设置backgroundSize='cover',然后检查style.backgroundSize=='cover'。
看看我的JSFiddle。
如果使用Modernizr
,则只能下载执行此类任务所需的代码
http://modernizr.com/download/#-后台大小测试道具测试道具domprefix
然后你可以用测试
if (Modernizr.backgroundsize) {
/* backgroundSize supported */
}
如果您试图检测功能低下的浏览器,以避免邮票图像卡在中间,那么一个快速而肮脏的解决方法是
var rules = document.styleSheets[0].cssRules;
如果它是未定义的,那么你知道你的浏览器功能低下,可能应该采用后备方法。YMMV。
在设置BackgroundSize之前,您需要检查它是否作为样式属性存在。
var supported = ('backgroundSize' in document.documentElement.style);
if(supported){
var temp = document.createElement('div');
temp.style.backgroundSize = 'cover';
supported = temp.style.backgroundSize == 'cover';
};
return supported;
来源:http://upshots.org/javascript/javascript-detect-support-for-background-size-cover
在此之前,您可能还想尝试使用CSS.supports()进行检测。参见MDN:https://developer.mozilla.org/en-US/docs/Web/API/CSS/supports
这是单独使用javascript,没有jquery,只需检查您使用删除的浏览器版本
//check if Is bad IE.
var noBGSizeSupport = window.attachEvent && !window.addEventListener
if(noBGSizeSupport){
//does not support BG size property
} else {
// supports background size property
}
- jQuery-2.1.1.min.js或最新版本jQuery-2.13.min.js不会't支持'@
- jQuery检测浏览器是否支持Zoom
- 错误:对象没有't支持'自动完成'
- EmberJS中支持单字母单词模型
- javascript中的命名空间,IDE中支持代码完成/内容辅助's
- Internet Explorer缺少占位符支持,特别是密码字段
- 为什么我得到错误IE修剪方法是't支持
- 任何浏览器都不支持javascript函数
- GTK百老汇支持同时连接
- JQuery示例不起作用-“;对象没有't支持属性或方法'按钮'&”;
- 对象不支持属性或方法“自动完成”
- 对象没有'不支持set_viewXML
- Javascript Q库浏览器支持
- 您的平台不支持RxJS-Array.observe
- React Native当前是否支持访问用户'的通讯簿
- 将HTML(支持文件)中的令牌(字符串、数字等)传递给LogiXML
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- Excellen导出xlsx支持
- Django'支持Javascript文件中的翻译
- 检测对背景大小的支持:封面