From 78cf8ea59338fc49436db106cf098514a4d9adaa Mon Sep 17 00:00:00 2001 From: Stephen Hardy Date: Mon, 19 Nov 2012 15:30:42 -0800 Subject: [PATCH] Fix detecting IE CSS3 & non-WebKit transform3d IE requires lowercase 'ms' prefix, and non-WebKit browsers were failing the check for Chrome's false positive. Code updated in accordance with recent Modernizr changes --- jquery.isotope.js | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/jquery.isotope.js b/jquery.isotope.js index f4efad6..2fb270d 100644 --- a/jquery.isotope.js +++ b/jquery.isotope.js @@ -28,7 +28,7 @@ // ========================= getStyleProperty by kangax =============================== // http://perfectionkills.com/feature-testing-css-properties/ - var prefixes = 'Moz Webkit O Ms'.split(' '); + var prefixes = 'Moz Webkit O ms'.split(' '); var getStyleProperty = function( propName ) { var style = document.documentElement.style, @@ -82,21 +82,16 @@ }, csstransforms3d: function() { - var test = !!getStyleProperty('perspective'); - // double check for Chrome's false positive - if ( test ) { - var vendorCSSPrefixes = ' -o- -moz- -ms- -webkit- -khtml- '.split(' '), - mediaQuery = '@media (' + vendorCSSPrefixes.join('transform-3d),(') + 'modernizr)', - $style = $('') - .appendTo('head'), - $div = $('
').appendTo('html'); - - test = $div.height() === 3; + var ret = !!getStyleProperty('perspective'), $style, $div; + if ( ret && 'webkitPerspective' in document.documentElement.style ) { + $style = $('').appendTo('head'), + $div = $('
').appendTo('body'); + ret = $div[0].offsetLeft === 9 && $div[0].offsetHeight === 3; $div.remove(); $style.remove(); } - return test; + return ret; }, csstransitions: function() {