Обнаружение поддержки 'transform: translate3d' - PullRequest
36 голосов
/ 14 апреля 2011

Кто-нибудь знает, как я могу обнаружить transform: translate3d(x,y,z) доступна поддержка?

Моя проблема заключается в том, что я хочу использовать translate3d во всех браузерах, где он поддерживается, поскольку он имеет тенденцию использовать аппаратное ускорение и, следовательно, плавнее для анимации, а затем вернуться к translate, где его нет.

Ответы [ 12 ]

0 голосов
/ 12 июня 2012

Использование jQuery:

var cssTranslate3dSupported = false;
(function()
{
    var div = $('<div style="position:absolute;">Translate3d Test</div>');
    $('body').append(div);
    div.css(
    {
        'transform' : "translate3d(20px,0,0)",
        '-moz-transform' : "translate3d(20px,0,0)",
        '-webkit-transform' : "translate3d(20px,0,0)",
        '-o-transform' : "translate3d(20px,0,0)",
        '-ms-transform' : "translate3d(20px,0,0)"
    });
    cssTranslate3dSupported = (div.offset().left == 20);
    div.empty().remove();
})();
0 голосов
/ 27 июля 2011

Автор Аппаратное ускорение аккордеона проверяет так:

var has3d = ('WebKitCSSMatrix' in window && 'm11' in new WebKitCSSMatrix())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...