[JS30] Day13: Slide In on Scroll
keywords: scroll, detection, 捲軸, 滾動, debounce, 投影片效果
CSS 部分
圖片左右排版
這裡圖片排版的方式就是使用 float 來達到讓圖片左右排列的效果。
.align-left {
float: left;
margin-right: 20px;
}
.align-right {
float: right;
margin-left: 20px;
}
圖片滑入
之所以能製作出圖片滑入的效果,主要是使用 opacity (0 -> 1), transform (translateX) 和 transition
一開始的圖片樣式opacity 是 0 ,translateX 則向右(左)往外偏出一些:
.slide-in {
opacity: 0;
transition: all 0.5s;
}
.align-left.slide-in {
transform: translateX(-30%) scale(0.95);
}
.align-right.slide-in {
transform: translateX(30%) scale(0.95);
}
當使用者捲軸滾到那張圖片的時候,我們會在該圖片上添加 .active 這個 class,讓圖片回到原來文章中的位置,並且顯示出來(opacity):
slide-in.active {
opacity: 1;
transform: translateX(0%) scale(1);
}