49 lines
1.3 KiB
HTML
49 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<title>The scroll() timeline source in quirks mode with a scrollable <body></title>
|
|
<link rel="help" href="https://drafts.csswg.org/scroll-animations-1/#scroll-notation">
|
|
<link rel="help" href="https://drafts.csswg.org/css-animations-2/#animation-timeline">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
|
|
<style>
|
|
|
|
@keyframes move {
|
|
to { margin-left: 100px }
|
|
}
|
|
|
|
html {
|
|
height: 100px;
|
|
padding: 20px;
|
|
}
|
|
|
|
body {
|
|
height: 110vh;
|
|
overflow: auto;
|
|
|
|
animation: 1s move linear, 1s move linear, 1s move linear;
|
|
animation-timeline: scroll(self), scroll(nearest), scroll(root);
|
|
}
|
|
|
|
body::after {
|
|
content: "";
|
|
display: block;
|
|
height: 110%;
|
|
}
|
|
</style>
|
|
<body>
|
|
<script>
|
|
"use strict";
|
|
|
|
const timelineSourceTest = data => {
|
|
test(() => {
|
|
assert_equals(document.body.getAnimations()[data.index].timeline.source, data.expectedSource);
|
|
}, `CSS animation correctly uses the <${data.expectedSource.localName}> element as the source for the ${data.keyword} scroll() timeline`);
|
|
};
|
|
|
|
timelineSourceTest({ index: 0, keyword: "self", expectedSource: document.body });
|
|
timelineSourceTest({ index: 1, keyword: "nearest", expectedSource: document.documentElement });
|
|
timelineSourceTest({ index: 1, keyword: "root", expectedSource: document.documentElement });
|
|
|
|
</script>
|
|
</body>
|