Skip to content
Permalink
Browse files

Fix #11311. Percents not pixels for top/left/bottom/right. Closes gh-793

.
  • Loading branch information...
mikesherov authored and dmethvin committed May 25, 2012
1 parent 04c06e6 commit d5e5ce5bd006ae94e9d85949b4f7141642cebf81
Showing with 10 additions and 1 deletion.
  1. +4 −1 src/css.js
  2. +6 −0 test/unit/css.js
@@ -16,6 +16,7 @@ var ralpha = /alpha\([^)]*\)/i,

cssExpand = jQuery.cssExpand,
cssPrefixes = [ "Webkit", "O", "Moz", "ms" ],
rposition = /^(top|right|bottom|left)$/,

curCSS;

@@ -242,7 +243,9 @@ if ( document.defaultView && document.defaultView.getComputedStyle ) {

// If we're not dealing with a regular pixel number
// but a number that has a weird ending, we need to convert it to pixels
if ( rnumnonpx.test( ret ) ) {
// but not position css attributes, as those are proportional to the parent element instead
// and we can't measure the parent instead because it might trigger a "stacking dolls" problem
if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) {

// Remember the original values
left = style.left;
@@ -538,6 +538,12 @@ test("can't get background-position in IE<9, see #10796", function() {
}
});

test("percentage position properties in IE<9 should not be incorrectly transformed to pixels, see #11311", function() {
expect( 1 );
var div = jQuery("<div style='position: absolute; width: 1px; height: 20px; bottom:50%;'></div>").appendTo( "#qunit-fixture" );
ok( window.getComputedStyle || div.css( "bottom" ) === "50%", "position properties get incorrectly transformed in IE<8, see #11311" );
});

test("Do not append px to 'fill-opacity' #9548", 1, function() {

var $div = jQuery("<div>").appendTo("#qunit-fixture");

0 comments on commit d5e5ce5

Please sign in to comment.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.