summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-overflow/margin-block-end-scroll-area-001.html
blob: 3b8f4ca3f355718d05fe6eeda200bddccb388f57 (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<!DOCTYPE html>

  <meta charset="UTF-8">

  <title>CSS Overflow Test: margin-block-end, scrolling area height and scrollTop (complex)</title>

  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
  <link rel="help" href="https://www.w3.org/TR/css-overflow-3/#scrollable">
  <link rel="help" href="https://www.w3.org/TR/cssom-view-1/#dom-element-scrolltop">
  <link rel="help" href="https://www.w3.org/TR/cssom-view-1/#scrolling-area">
  <link rel="match" href="reference/ref-if-there-is-no-red.xht">

   <!--

   This test is a slightly modified version of the testcase from

   Morten Stenshorne coming from

   https://bugs.chromium.org/p/chromium/issues/detail?id=750992#c8

  -->

  <meta content="" name="flags">
  <meta content="This test checks that when the bottom edge of an element's scrolling area is the bottom margin edge of all of the element's descendants' boxes, then the element.scrollTop must reach such bottom edge. In this test, the tested element's scrolling area height must reach the end edge of the margin-bottom of the p element." name="assert">

  <style>
  div
    {
      height: 200px;
    }

  div#test
    {
      font-size: 100px;
      /*
      Setting a font-size of 100px is to influence the
      margin on the P without setting it directly.
      */
      overflow: hidden;
    }

  div#red
    {
      background-color: red;
    }

  div#red > p
    {
      height: 1px;
    }
  </style>

  <body onload="document.getElementById('test').scrollTop = 200;">

  <p>Test passes if there is <strong>no red</strong>.

  <div id="test">

    <div id="red">

      <div id="filler"></div>

      <p>

    </div>

  </div>