best stab I can have without 'code in action' is...something to do with your widths and floats. if you made fixed widths or even %widths with the float 'boxes' then you would know how far to push stuff across or w/e.like I cant really understand whats happening with your code, but I know one thing i tried, if i want to have two boxes next to each other, like a '#links' and '#content' and content comes first, and links after for semantical laddy da...(i think thats the word...) then you have links {float:left; width:17%} content{float:right;width:82%;} and then they go either side so you can still have links appearing first on the left., and if one is too large then a float will jump down to the next available line,also if you do use that method, do not use percentages that add up. like 50% and 50% or 25% 30% and 45%,leave a percentage out, coz if you dont then you;ll have floats going everywhere,.i also found a page about doing multi ordered colums, which i think thats what you want,...so if i find the link ill post it up here :