In recent builds of IE7 (for Vista, 5365, and for XP, 5335 and 5346 (Beta 2)), an element with position:absolute inside an element with position:relative inside an element with a left padding wrongly subtracts padding width from the left and right offsets.

When rendered correctly, the green square with "left:0" should be 11px from the left edge of the red square, and the green square with "right:0" should be 1px from the right edge of the red square. In the mentioned versions of IE7, both elements are 10px too far to the left, the size of the padding. This doesn't happen to the top/bottom offsets, and also isn't affected by other padding values than the left one. Margins also do not affect it.

The same does not happen if the element with id="inner" has a specified height (e.g. height:100px) or The element with id="inner" is position:absolute instead of position:relative;

The image below shows both a Firefox (correct) and IE7 (wrong) rendering of this page.

IE7 (left, wrong) and Firefox (right, correct)