As a result of CSS trickery like negative margins, occasionally I have some HTML that is rendered below HTML content that occurs later in the HTML document. Even though the
I know Phrogz' answer has been accepted already, and a good answer it is, but just for the record: you don't always need z-index.
When you have position:relative on one element, it will also be displayed on top of all other elements that have no position (or position:static). Even if you don't have any z-indexes at all!
jsFiddle.