diff --git a/src/dom/dom.js b/src/dom/dom.js index d67fda4..bbe37e0 100755 --- a/src/dom/dom.js +++ b/src/dom/dom.js @@ -636,7 +636,7 @@ } //this returns cascaded values so needs fixing r = String(elmCurrentStyle[toStyleProp(prop)]); - if (/^\-?\d+[a-z%]+$/i.test(r) && prop != "font-size") { + if (/^-?[\d\.]+(?!px)[%a-z]+$/i.test(r) && prop != "font-size") { r = getPixelValue(elm, r, usesYAxis.test(prop)) + "px"; } } @@ -663,8 +663,6 @@ Number */ function getPixelValue(element, value, useYAxis) { - if (/\d(px)?$/i.test(value)) { return parseInt(value); } - // Remember the original values var axisPos = useYAxis ? "top" : "left", axisPosUpper = useYAxis ? "Top" : "Left", diff --git a/test/glow/dom/dom.js b/test/glow/dom/dom.js index 9b890b3..5cac376 100644 --- a/test/glow/dom/dom.js +++ b/test/glow/dom/dom.js @@ -2026,7 +2026,7 @@ t.test("glow.dom.NodeList.css getting", function() { //positioning t.equals(glow.dom.get("#cssTests div.posTest1").css("position"), "absolute", "position"); - t.equals(glow.dom.get("#cssTests div.posTest1").css("top"), "60px", "top (em val)"); + t.equals(glow.dom.get("#cssTests div.posTest1").css("top"), "66px", "top (em val)"); t.equals(glow.dom.get("#cssTests div.posTest1").css("left"), "30px", "left (px val)"); t.equals(glow.dom.get("#cssTests div.posTest1").css("z-index"), "32", "z-index"); t.equals(glow.dom.get("#cssTests div.posTest2").css("right"), "60px", "right (em val)"); diff --git a/test/testdata/screen.css b/test/testdata/screen.css index 0fc79ba..171feb4 100644 --- a/test/testdata/screen.css +++ b/test/testdata/screen.css @@ -298,7 +298,7 @@ ul.unitTests span.testStats span { } .posTest1 { position: absolute; - top: 5em; + top: 5.5em; left: 30px; z-index: 32; }