summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-scroll-anchoring/opt-out-inner-table.html
blob: d5ec0738212f42bd0c01823a115bd73caf8a8cf4 (plain)
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
<!DOCTYPE html>
<meta charset="utf-8">
<link rel="help" href="https://drafts.csswg.org/css-scroll-anchoring-1/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>

#scroller {
    height: 200px;
    overflow: scroll;
}
#before { height: 50px; }
#table-row {
    display: table-row;
    overflow-anchor: none;
    width: 100px;
    height: 100px;
}
#after { margin-bottom: 500px; }

</style>
<div id="scroller">
    <div id="before"></div>
    <div id="table-row">content</div>
    <div id="after"></div>
</div>
<script>

// Tests that the anchor exclusion API works with table parts that generate
// anonymous table box wrappers

test(() => {
  let scroller = document.querySelector('#scroller');
  let before = document.querySelector('#before');

  // Scroll down so that #table-row is the only element in view
  scroller.scrollTop = 50;

  // Expand #before so that we might perform a scroll adjustment
  before.style.height = "100px";

  // We shouldn't have selected #table-row as an anchor as it is
  // 'overflow-anchor: none'
  assert_equals(scroller.scrollTop, 50);
}, "A table with anonymous wrappers and 'overflow-anchor: none' shouldn't generate any scroll anchor candidates.");

</script>