Make sure that accessing computed CSS for elements returns 'auto' instead of '' consi...
[jquery.git] / src / css.js
index 933d2b4..0998657 100644 (file)
@@ -169,7 +169,20 @@ jQuery.each(["height", "width"], function( i, name ) {
                                        });
                                }
 
-                               return val + "px";
+                               if ( val <= 0 ) {
+                                       val = curCSS( elem, name, name );
+
+                                       if ( val != null ) {
+                                               return val;
+                                       }
+                               }
+
+                               if ( val < 0 || val == null ) {
+                                       val = elem.style[ name ];
+                                       return val === "" ? "auto" : val;
+                               }
+
+                               return typeof val === "string" ? val : val + "px";
                        }
                },
 
@@ -235,7 +248,7 @@ if ( getComputedStyle ) {
                        }
                }
 
-               return ret;
+               return ret === "" ? "auto" : ret;
        };
 
 } else if ( document.documentElement.currentStyle ) {
@@ -262,7 +275,7 @@ if ( getComputedStyle ) {
                        elem.runtimeStyle.left = rsLeft;
                }
 
-               return ret;
+               return ret === "" ? "auto" : ret;
        };
 }