css-tricks.com has a comprehensive list of methods for Fluid Width Equal Height Columns. Many of these methods use simple backgrounds or column oversizing in conjunction with overflow:hidden in order to get the visual effect of having columns that are all equal in height. However, if you want to have more complex backgrounds or borders on your columns, these methods aren't suitable. We need to assign those CSS properties to block elements that are properly aligned with our content.
I recently had a go on it myself, using a method that I haven't seen on any of the popular (albeit already old) tutorials: using "background divs" behind the actual content divs.