画面の両端に上から下に画像を無限に流す(2025/8)
参考サイト
私が恋人になれるわけない【https://www.watanare-anime.com/】
サンプル
<style>
.bg-infinite-txt-wrapper {
position: fixed;
top: 0;
width: 50px;
height: 100%;
overflow: hidden;
}
.bg-infinite-txt {
display: flex;
flex-direction: column;
animation: scrollDown 10s linear infinite;
}
.bg-infinite-txt img {
width: 50px;
height: auto;
}
.left {
left: 0;
}
.right {
right: 0;
}
@keyframes scrollDown {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-50%);
}
}
</style>
<div class='bg-infinite-txt-wrapper left'>
<div class='bg-infinite-txt'>
<img src=''>
<img src=''>
<img src=''>
<img src=''>
</div>
</div>
<div class='bg-infinite-txt-wrapper right'>
<div class='bg-infinite-txt'>
<img src=''>
<img src=''>
<img src=''>
<img src=''>
</div>
</div>
・左側は上から下に、右側は下から上に流したい場合はtranslateYを変えます
・左と右で画像が反転している場合、回転させた画像を別々に作った方がよさそう
補足:画像が3枚流れ終わると空白ができるサンプル
<style>
.bg-infinite-txt {
position: fixed;
top: -100%;
display: flex;
flex-direction: column;
justify-content: space-around;
width: 50px;
height: 200%;
animation: scrollDown 10s linear infinite;
}
.bg-infinite-txt img {
width: 50px;
height: auto;
}
.left {
left: 0;
}
.right {
right: 0;
}
@keyframes scrollDown {
0% { transform: translateY(0); }
100% { transform: translateY(100%); }
}
</style>
<div class='bg-infinite-txt left'>
<img src=''>
<img src=''>
<img src=''>
</div>
<div class='bg-infinite-txt right'>
<img src=''>
<img src=''>
<img src=''>
</div>