wpt / css / css-overflow / line-clamp / line-clamp-with-abspos-019.html

Status: FAIL | Duration: 10ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi

/css/css-overflow/line-clamp/line-clamp-with-abspos-019.html

<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Overflow: line-clamp hidden abspos should count as ink overflow</title>
<link rel="author" title="Andreu Botella" href="mailto:abotella@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#line-clamp">
<link rel="match" href="reference/line-clamp-with-abspos-019-ref.html">
<meta name="assert" content="Any overflowing content hidden from paint by line-clamp is treated as ink overflow, including absolute positioned boxes, and therefore doesn't cause the scrollable overflow rectangle to grow. Meanwhile, non-hidden abspos count as scrollable overflow.">
<style>
#scrollContainer {
  overflow: scroll;
  position: relative;
  font: 16px / 32px serif;
  height: 4lh;
  border: 1px solid black;
}
.clamp {
  line-clamp: 4;
  padding: 0 4px;
  background-color: yellow;
}
.abspos {
  position: absolute;
  right: 0;
  width: 50px;
  height: 50px;
  margin: 4px;
  background-color: skyblue;
}
.rel {
  position: relative;
}
#abspos1 {
  top: 1lh;
}
#abspos2 {
  top: 2lh;
}
</style>

<div id="scrollContainer">
  <div class="clamp">
    <div>Line 1</div>
    <div>Line 2</div>
    <div>Line 3</div>
    <div class="rel">Line 4<div class="abspos" id="abspos1"></div></div>
    <div>Line 5</div>
    <div class="rel">Line 6<div class="abspos" id="abspos2"></div></div>
  </div>
</div>

<script>
  window.addEventListener("load", () => {
    const scrollContainer = document.getElementById("scrollContainer");
    scrollContainer.scrollTop = scrollContainer.scrollHeight;
  });
</script>

/css/css-overflow/line-clamp/reference/line-clamp-with-abspos-019-ref.html

<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Reference</title>
<style>
#scrollContainer {
  overflow: scroll;
  position: relative;
  font: 16px / 32px serif;
  height: 4lh;
  border: 1px solid black;
}
.clamp {
  padding: 0 4px;
  background-color: yellow;
}
.abspos {
  position: absolute;
  top: 1lh;
  right: 0;
  width: 50px;
  height: 50px;
  margin: 4px;
  background-color: skyblue;
}
.rel {
  position: relative;
}
</style>

<div id="scrollContainer">
  <div class="clamp">
    <div>Line 1</div>
    <div>Line 2</div>
    <div>Line 3</div>
    <div class="rel">Line 4…<div class="abspos"></div></div>
  </div>
</div>

<script>
  window.addEventListener("load", () => {
    const scrollContainer = document.getElementById("scrollContainer");
    scrollContainer.scrollTop = scrollContainer.scrollHeight;
  });
</script>