To properly position an element, you need to ensure the parent element has a position of relative and then apply position absolute to the specific element you want to position. If you want the element to be positioned based on a table, you must add position: relative to the table (even though it is already relatively positioned) and position: absolute to the overlay. Absolute positioning removes the element from the document flow, while relative positioning keeps it within the flow, causing elements to shift accordingly. Understanding CSS positioning is crucial for achieving the desired layout: http://www.w3schools.com/css/pr_class_position.asp
relative Positioning is relative to its normal position, so "left:20" adds 20 pixels to the element's LEFT position
absolute Positioning is relative to its first positioned ancestor element (not static)
Another option to consider is fixed positioning.
fixed Element is positioned relative to the browser window
See an Example Here: