gecko-dev/layout/reftests/position-sticky/block-in-inline-2.html
L. David Baron d0255c650f Bug 828312 patch 9a: Make sticky positioning handle block-in-inline splits correctly. r=dholbert
This assumes that the specification for how position:sticky behaves for
block-in-inline splits matches the specification for position:relative,
in other words, matches
http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level .

It's also necessary for patch 9b since the new rule for handling of
style change hints is that a style change hint applies to all
continuations and all block-in-inline siblings ("special siblings").

The change in StickyScrollContainer::GetScrollRanges is really the fix
for bug 918994, but adjusted for the change here to use block-in-inline
siblings ("special siblings") in addition to continuations.
2013-09-25 12:28:08 -07:00

46 lines
1.3 KiB
HTML

<!DOCTYPE html>
<!-- Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ -->
<html>
<head>
<title>CSS Test: Sticky Positioning - block inside inline, stuck position</title>
<link rel="author" title="L. David Baron" href="mailto:dbaron@mozilla.com">
<link rel="match" href="block-in-inline-2-ref.html">
<meta name="assert" content="Inline elements split because they contain blocks should always have all parts moved the same offset from their normal position">
<link rel="stylesheet" type="text/css" href="ahem.css">
<style>
#scroll {
height: 100px;
overflow: hidden;
font: 20px/1 Ahem;
}
#contain {
height: 100px;
}
#sticky {
display: inline;
position: sticky;
top: 10px;
}
</style>
</head>
<body>
<div id="scroll">
<div style="height: 20px"></div>
<div id="contain">
before inline
<div id="sticky">
before block
<div>in block</div>
after block
</div>
after inline
</div>
<div style="height: 100px"></div>
</div>
<script type="application/javascript">
document.getElementById("scroll").scrollTop = 30;
</script>
</body>
</html>