Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<title>CSS Overflow Test: Ensure that padding inflation for inline elements are carried out as part of containing line box's bounds.</title>
<link rel="author" title="David Shin" href="mailto:dshin@mozilla.com">
<link rel="stylesheet" href="/fonts/ahem.css">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>
.scroller {
width: 100px;
height: 100px;
font: 10px/1 Ahem;
padding: 10px;
overflow: scroll;
}
.filler {
width: 1px;
height: 100px;
background: purple;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.scroller')">
<!-- Block-end is padding-inflated from the last line,
even if it only consists of inline elements -->
<div class="scroller" data-expected-scroll-height="130">
<div class="filler"></div>
<span>X</span>
</div>
<!-- Inline element's margin should not add to scrollable overflow,
just like how it does not affect the next line's positioning -->
<div class="scroller" data-expected-scroll-height="130">
<div class="filler"></div>
<span style="margin-bottom: 100px;">X</span>
</div>
<!-- Line bound is padding-inflated, but not its overflow. -->
<div class="scroller" data-expected-scroll-height="120" style="line-height: 0;">
<div class="filler"></div>
<span>X</span>
</div>
<div class="scroller" data-expected-scroll-height="125" style="line-height: 5px;">
<div class="filler"></div>
<span>X</span>
</div>
<!-- Ruby element, despite being `display: ruby`, behaves as if inline -->
<div class="scroller" data-expected-scroll-height="120" style="line-height: 0;">
<div class="filler"></div>
<ruby>X</ruby>
</div>
<!-- Inline replaced elements still trigger padding-inflation -->
<div class="scroller" data-expected-scroll-height="280" style="line-height: 0px;">
<div class="filler"></div>
<img src="../css-images/support/60x60-green.png" style="margin-bottom: 100px;"></img>
</div>
</body>