search

Home  >  Q&A  >  body text

css3 - 怎么判断浏览器是否支持translate3d

transform之类的可以for in检测出来,但是translate3d要怎么检测呢?

PHP中文网PHP中文网2782 days ago609

reply all(1)I'll reply

  • PHPz

    PHPz2017-04-17 11:25:52

    function has3d() {
        if (!window.getComputedStyle) {
            return false;
        }
    
        var el = document.createElement('p'), 
            has3d,
            transforms = {
                'webkitTransform':'-webkit-transform',
                'OTransform':'-o-transform',
                'msTransform':'-ms-transform',
                'MozTransform':'-moz-transform',
                'transform':'transform'
            };
    
        // Add it to the body to get the computed style.
        document.body.insertBefore(el, null);
    
        for (var t in transforms) {
            if (el.style[t] !== undefined) {
                el.style[t] = "translate3d(1px,1px,1px)";
                has3d = window.getComputedStyle(el).getPropertyValue(transforms[t]);
            }
        }
    
        document.body.removeChild(el);
    
        return (has3d !== undefined && has3d.length > 0 && has3d !== "none");
    }
    
    要做到各种浏览器兼容,你自己要去测试一下。

    reply
    0
  • Cancelreply