34 lines
No EOL
1.4 KiB
HTML
34 lines
No EOL
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title> CSS Scroll Snap 2 Test: scroll-initial-target interaction with fragment-navigation</title>
|
|
<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#scroll-initial-target">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<iframe id="frame" src="scroll-initial-target-with-fragment-navigation-inner-frame.html#fragment_target"
|
|
onload="runTest()"></iframe>
|
|
<script>
|
|
function runTest() {
|
|
test((t) => {
|
|
let scroller = frame.contentDocument.scrollingElement;
|
|
// fragment_target is at the bottom of the frame so the frame should be
|
|
// fully scrolled down to bring it into view (despite middle_box being
|
|
// the scroll-initial-target).
|
|
let expected_scroll_top = scroller.scrollHeight - scroller.clientHeight;
|
|
// The scroll-initial-target is just below top_box which has a height of
|
|
// 60vh.
|
|
const scroll_start_target_top = 0.6 * frame.contentWindow.innerHeight;
|
|
|
|
assert_equals(frame.contentWindow.location.hash, "#fragment_target");
|
|
assert_not_equals(scroll_start_target_top, expected_scroll_top);
|
|
assert_equals(frame.contentDocument.scrollingElement.scrollTop,
|
|
expected_scroll_top);
|
|
}, "scroll-initial-target does not override hash fragment navigation");
|
|
}
|
|
</script>
|
|
</body> |