I tried using the following:
{
columns:100px 2;
-webkit-columns:100px 2; /* Safari and Chrome */
-moz-columns:100px 2; /* Firefox */
min-height:300px;
}
It appears to work in Safari and Chrome, but Firefox makes the columns equal.
If you are willing to go to JavaScript, it’s possible to have the first column hold the entire content with overflow:hidden, then figure out what the hidden part is and display it in the second column. If the column widths are fixed as well as the height, you can do that just using CSS. Have the second column have position:relative, and its contents (#col2 p) have a negative top margin that makes things line up. Then the only JavaScript required is to copy the contents of the first column into the second column.