Scrollheight and offsetheight both have weird implementations. Scrollheight generally reports the correct height, but it appears to be a constant (meaning it will only update once the document is destroyed and recreated). Offsetheight has weird issues with the margins and doesn't always report the correct size.