Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<html class="reftest-wait">
<meta charset="utf-8">
<title>CSS Overflow: test scrollbar-gutter dynamic update</title>
<link rel="author" title="Luke Warlow" href="mailto:luke@warlow.dev">
<link rel="match" href="scrollbar-gutter-dynamic-002-ref.html">
<script src="/common/reftest-wait.js"></script>
<style>
.line {
display: flex;
}
.container {
writing-mode: horizontal-tb;
direction: ltr;
block-size: 200px;
inline-size: 200px;
margin: 10px;
background: deepskyblue;
}
.content {
inline-size: 100%;
block-size: 200%;
background: lightsalmon;
}
</style>
<div class="line">
<div id="auto-auto" class="container" style="overflow-y: auto; scrollbar-gutter: auto">
<div class="content"></div>
</div>
<div id="scroll-auto" class="container" style="overflow-y: scroll; scrollbar-gutter: auto">
<div class="content"></div>
</div>
<div id="hidden-auto" class="container" style="overflow-y: hidden; scrollbar-gutter: auto">
<div class="content"></div>
</div>
</div>
<div class="line">
<div id="auto-stable" class="container" style="overflow-y: auto; scrollbar-gutter: stable">
<div class="content"></div>
</div>
<div id="scroll-stable" class="container" style="overflow-y: scroll; scrollbar-gutter: stable">
<div class="content"></div>
</div>
<div id="hidden-stable" class="container" style="overflow-y: hidden; scrollbar-gutter: stable">
<div class="content"></div>
</div>
</div>
<div class="line">
<div id="auto-stable-both" class="container" style="overflow-y: auto; scrollbar-gutter: stable both-edges">
<div class="content"></div>
</div>
<div id="scroll-stable-both" class="container" style="overflow-y: scroll; scrollbar-gutter: stable both-edges">
<div class="content"></div>
</div>
<div id="hidden-stable-both" class="container" style="overflow-y: hidden; scrollbar-gutter: stable both-edges">
<div class="content"></div>
</div>
</div>
<script>
requestAnimationFrame(() => requestAnimationFrame(() => {
document.getElementById('auto-auto').style.scrollbarGutter = 'stable both-edges';
document.getElementById('scroll-auto').style.scrollbarGutter = 'stable both-edges';
document.getElementById('hidden-auto').style.scrollbarGutter = 'stable both-edges';
document.getElementById('auto-stable').style.scrollbarGutter = 'auto';
document.getElementById('scroll-stable').style.scrollbarGutter = 'auto';
document.getElementById('hidden-stable').style.scrollbarGutter = 'auto';
document.getElementById('auto-stable-both').style.scrollbarGutter = 'stable';
document.getElementById('scroll-stable-both').style.scrollbarGutter = 'stable';
document.getElementById('hidden-stable-both').style.scrollbarGutter = 'stable';
takeScreenshot();
}));
</script>
</html>