Zooming left the page filling four fifths of the window, and less as the zoom went up: at 1.6 it sat in the left three fifths with the rest of the window empty. body carried width:calc(100%/zoom). Under CSS zoom a percentage already resolves against the containing block in the zoomed element's own units, so 100% is the full width and dividing it again shrank the page by the zoom a second time. A block fills its container without being told to, so the declaration is gone. Viewport units are the exception -- dvh does not know about zoom -- which is why the height still has to be divided back out. Measured at 1.25, 1.6 and 2: body is exactly the window's 2275 by 1427 in each, and the document overflows by nothing in either direction. The first time round only the overflow was checked, which a page that under-fills passes just as happily as one that fits. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
13 KiB
13 KiB