Percentage margins on absolutely positioned replaced elements are relative to the container's logical width.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS successfullyParsed is true

TEST COMPLETE
PASS "10px 20px 30px 40px" is "10px 20px 30px 40px"
PASS "10px 20px 30px 40px" is "10px 20px 30px 40px"
PASS "10px 20px 30px 40px" is "10px 20px 30px 40px"
PASS "10px 20px 30px 40px" is "10px 20px 30px 40px"
PASS "10px 20px 30px 40px" is "10px 20px 30px 40px"
PASS "10px 20px 30px 40px" is "10px 20px 30px 40px"
PASS "10px 20px 30px 40px" is "10px 20px 30px 40px"
PASS "10px 20px 30px 40px" is "10px 20px 30px 40px"
PASS "10px 20px 30px 40px" is "10px 20px 30px 40px"

