1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
<!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="help" href="https://drafts.csswg.org/css-overflow-4/#scrollbar-gutter-property">
<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>
|