JS判断浏览器是否支持某一个CSS3属性的最佳实践

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS判断浏览器是否支持某一个CSS3属性的最佳实践相关的知识,希望对你有一定的参考价值。

css3的出现让浏览器的表现更加的丰富多彩,表现冲击最大的就是动画了,在日常书写动画的时候,很有必要去事先判断浏览器是否支持,尤其是在写CSS3动画库的时候。比如transition的animation-play-state,就只有部分浏览器支持。

检测方法

下面的方法可以使用脚本判断浏览器是否支持某一个CSS3属性:

/**2017-01-05
    * 判断浏览器是否支持某一个CSS3属性
    * @param {String} 属性名称
    * @return {Boolean} true/false
    * 
*/
     
function supportCss3(style) {
    var prefix = [‘webkit‘, ‘Moz‘, ‘ms‘, ‘o‘],
    i,
    humpString = [],
    htmlStyle = document.documentElement.style,
    _toHumb = function (string) {
    return string.replace(/-(\w)/g, function ($0, $1) {
    return $1.toUpperCase();
    });
    };
     
    for (i in prefix)
    humpString.push(_toHumb(prefix[i] + ‘-‘ + style));
     
    humpString.push(_toHumb(style));
     
    for (i in humpString)
    if (humpString[i] in htmlStyle) return true;
     
    return false;
}

 

使用方法

alert(supportCss3(‘animation-play-state‘));

 

以上是关于JS判断浏览器是否支持某一个CSS3属性的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

判断浏览器是否支持某个css3属性的javascript方法

使用Modernizr检测支持CSS3

js 关键字 in 判断 一个属性或方法是否属于一个对象

如何判断出一个js对象是不是一个dom对象

CSS3 - 性能最佳实践是啥? [关闭]

Jquery css函数用法(判断标签是否拥有某属性)