In Safari 10.0, I noticed a bug: after the page loads, if I add
I was hoping for a better answer, but I'll share what I've been doing to get around the problem.
I suspected that forcing Safari to re-render the text might cause the column heights to be recalculated, so I tried changing the padding by an unnoticeable amount after the columns were set, and it worked. What I'm doing now is setting
padding-left: 0.00001px on
p elements as soon as the columns are set, and then using
window.setTimeout to set back
This JSFiddle demonstrates my solution: https://jsfiddle.net/q7washrL/1/