gecko-dev/testing/web-platform/tests/css/css-position/position-absolute-dynamic-static-position-floats-002.html
Ian Kilpatrick 638d6bfaa3 Bug 1551927 [wpt PR 16738] - [LayoutNG] Add the "simplified" layout pass., a=testonly
Automatic update from web-platform-tests
[LayoutNG] Add the "simplified" layout pass.

This introduces the simplified layout algorithm. This is triggered when
 - An OOF descendant has its constraints changed.
 - The block-size of a fragment changes in size.

There are several nuanced details with this algorithm. E.g. determining
the correct static position for an OOF descendant.

Bug: 635619
Change-Id: Iba4c4b82edf873fa4cad9ba28e9fa3849a4a8e8e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1590237
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#659745}

--

wp5At-commits: 20b091dca60176b03c6c6cd8466619dd9cf370e2
wpt-pr: 16738
2019-06-19 11:05:21 -07:00

55 lines
1.1 KiB
HTML

<!DOCTYPE html>
<html class='reftest-wait'>
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
<link rel="help" href="https://www.w3.org/TR/css-position-3/" />
<meta name="assert" content="This test checks that a dynamic change in constraints calculates the static position correctly."/>
<script src="/common/reftest-wait.js"></script>
<style>
#container {
position: relative;
background: red;
box-sizing: border-box;
border: solid green 10px;
width: 100px;
height: 100px;
}
#float {
float: left;
background: green;
width: 40px;
height: 80px;
}
#block {
background: green;
height: 40px;
}
#target {
position: absolute;
background: green;
display: inline;
width: 40px;
height: 40px;
top: -10px;
left: -10px;
}
</style>
<p>Test passes if there is a filled green square.</p>
<div id="container">
<div id="float"></div>
<div id="block"></div>
<div id="target"></div>
</div>
<script>
document.body.offsetTop;
const target = document.getElementById('target');
target.style.top = 'initial';
target.style.left = 'initial';
document.body.offsetTop;
takeScreenshot();
</script>