<!doctype html> <meta charset="utf-8"> <title>CSS Overflow: scrollbar-gutter on the root, overflow:scroll on the body</title> <link rel="author" title="Felipe Erias Morandeira" href="mailto:felipeerias@igalia.com" /> <link rel="help" href="https://drafts.csswg.org/css-overflow-4/#scrollbar-gutter-property" /> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/support/parsing-testcommon.js"></script> <style> body, html { margin: 0; padding: 0; border: none; } :root { scrollbar-gutter: stable; } body { overflow: scroll; } #content { background: green; width: 100%; height: 100px; } </style> <body> <div id="content"></div> <script type="text/javascript"> setup({ explicit_done: true }); test(function () { let root = document.documentElement; let body = document.body; let content = document.getElementById('content'); assert_less_than(root.clientWidth, window.outerWidth, "viewport has scrollbars"); assert_equals(body.offsetWidth, root.clientWidth, "body matches root"); assert_equals(body.clientWidth, body.offsetWidth, "body has no gutter"); assert_equals(content.offsetWidth, body.clientWidth, "content matches body"); }, "viewport has fixed scrollbars"); done(); </script> </body>