Sidebar seems to be in the wrong place

I’m just playing around with a layout here;

The sidebar is supposed to be on the right of the page, but it isn’t, it has ended up below the “contentleft”.

Can anyone see what’s wrong?

#contentleft is empty and collapsing. Either put some content in it, or add a pixel of top or bottom padding.

Wow - so if a div is empty… it will just collapse?

If it is empty and has no rules to hold it open such as dimensions, padding, borders or content then it has no impact on the flow of the document and doesn’t really exist. Why should it?

There’s an exception in IE6 of course and it will render empty elements (that are in haslayout mode) to at least the current font-size line-height unless overflow:hidden is used.

Remember also that floated columns must come before non floated content in the html if you want them to wrap. I can’t tell what you are aiming for yet but your welcome text will push the floated columns down. (That may be what you are aiming for of course.)