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.