[CSS] CSS animation-timeline
Browser support: https://caniuse.com/?search=animation-timeline
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
.scroller {
width: 400px;
height: 200px;
border: 1px black solid;
overflow-y: auto;
overflow-x: hidden;
scroll-timeline: --my-timeline; /* 滚动条元素 */
}
.bar {
position: sticky;
top: 0;
height: 3px;
background-color: red;
animation-name: move;
animation-timeline: --my-timeline;
}
@keyframes move {
from {
width: 0%;
}
to {
width: 100%;
}
}
</style>
</head>
<body>
<h2>CSS animation-timeline (CSS动画时间轴)</h2>
<div class="scroller">
<div class="bar"></div>
<p>111</p>
<p>222</p>
<p>333</p>
<p>444</p>
<p>555</p>
<p>666</p>
<p>777</p>
<p>888</p>
<p>999</p>
</div>
</body>
</html>
Example 2:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
.scroller {
width: 400px;
height: 200px;
border: 1px black solid;
overflow-y: auto;
overflow-x: hidden;
}
.scroller p {
margin-block: 50px;
animation-name: move;
animation-timeline: --my-timeline;
view-timeline: --my-timeline;
}
@keyframes move {
from {
font-size: 16px;
}
to {
font-size: 36px;
}
}
</style>
</head>
<body>
<h2>CSS animation-timeline (CSS动画时间轴)</h2>
<div class="scroller">
<p>111</p>
<p>222</p>
<p>333</p>
<p>444</p>
<p>555</p>
<p>666</p>
<p>777</p>
<p>888</p>
<p>999</p>
</div>
</body>
</html>