we'd need to see your html code to be able to fix it.
but its probably because the content inside the columns is wider than the space you've allowed them.
eg. if the middle column is 50% wide and an image inside it measures 410px, then this wont matter on a wide moniter, but on an 800px screen there won't be enough room for the third column to fit (because the 2nd column will now be more than 400px wide), and it will drop below the second one.
remember that you have to include all the padding and borders as well as the images when you total up the width of the content