diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/css.js | 17 | ||||
-rw-r--r-- | src/support.js | 2 |
2 files changed, 12 insertions, 7 deletions
diff --git a/src/css.js b/src/css.js index 6c43be399..41b978542 100644 --- a/src/css.js +++ b/src/css.js @@ -276,7 +276,7 @@ jQuery.extend({ // and getComputedStyle here to produce a better gzip size if ( window.getComputedStyle ) { curCSS = function( elem, name ) { - var ret, width, + var ret, width, minWidth, maxWidth, computed = getComputedStyle( elem, null ), style = elem.style; @@ -288,13 +288,20 @@ if ( window.getComputedStyle ) { } // A tribute to the "awesome hack by Dean Edwards" - // WebKit uses "computed value (percentage if specified)" instead of "used value" for margins - // which is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values - if ( !jQuery.support.pixelMargin && rmargin.test( name ) && rnumnonpx.test( ret ) ) { + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { width = style.width; - style.width = ret; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + style.minWidth = style.maxWidth = style.width = ret; ret = computed.width; + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; } } diff --git a/src/support.js b/src/support.js index d9f579053..e4a8b7c83 100644 --- a/src/support.js +++ b/src/support.js @@ -91,7 +91,6 @@ jQuery.support = (function() { inlineBlockNeedsLayout: false, shrinkWrapBlocks: false, reliableMarginRight: true, - pixelMargin: true, boxSizingReliable: true, pixelPosition: false }; @@ -220,7 +219,6 @@ jQuery.support = (function() { // The difference between window.getComputedStyle and getComputedStyle is // 7 bytes if ( window.getComputedStyle ) { - support.pixelMargin = ( window.getComputedStyle( div, null ) || {} ).marginTop !== "1%"; support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; |