Thanks to some help from the developer of the site I took the example from, I discovered the cause of my problems: the html
element didn't have any height set, thus the min-height
on body
didn't have any effect. Setting html { height: 100%; }
resulted in the expected behaviour.
I admittedly still don't fully understand the why of what caused the initial layout and horizontal resizing to work, but vertical resizing not to, but this at least solves the problem. There was some suggestion from the developer that Safari has some bugginess related to using vh
measurements, so that may be it. If anyone can shed some light on that issue, by all means go for it.