Just:
body {position:relative;}
Demo http://jsfiddle.net/qyvtzyfh/
Cause:
In a very brief simplified description, position:absolute; and width:100%; in the element, make the width of the element relative to the immediate parent with an explicitly defined position:relative; or position:absolute; , in your case, t, it gets the width of the original containing block (which also contains the html element) instead of body , adding position:relative; in body , you make the width of the element relative to the body (in addition to its position).
Arbel source share