javascript判断浏览器是不是支持css3的属性
javascript判断浏览器是否支持css3的属性
- ar supports = (function() {
- var div = document.createElement('div'),
- vendors = 'Webkit Moz O ms'.split(' '),
- len = vendors.length;
- return function(prop) {
- var dstyle = div.style;
- if (prop in dstyle) return true;
- prop = prop.replace(/^[a-z]/, function(val) {
- return val.toUpperCase();
- });
- while (len--) {
- if (vendors[len] + prop in dstyle) {
- return true;
- }
- }
- return false;
- };
- })();
- if (supports('BoxAlign')) {
- document.documentElement.className += ' BoxAlign';
- }
原理是:
1.创建一个div,然后可以获得div.style,它是个css属性数组。
2.首先检查该属性是否包含在div.style数组中,如果是,直接返回true。
3.检查各种前缀(Webkit Moz O ms),比如webkit加上该属性,即webkitTransition,如果包含在div.style中,返回true。
4.值得注意的是在CSS中属性名为:-webkit-transition,但是在DOM的style中,却是对应webkitTransition。