色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

html實現照片動態效果代碼

林玟書2年前10瀏覽0評論

想要在網站中加入照片動態效果嗎?那么HTML的img元素對你來說可能已經太過于單調了。HTML中也可以利用CSS3的動畫效果來實現一些炫酷的效果,比如照片輪播、漸變等等。下面給大家介紹一些實現照片動態效果的代碼。

<style>
#photo-container {
display: flex;
overflow: hidden;
height: 300px;
}
.photo {
flex-shrink: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
transition: opacity 0.5s ease-in-out;
}
.photo.active {
opacity: 1;
transition-delay: 0.5s;
}
.photo.previous {
transform: translateX(-100%);
}
.photo.next {
transform: translateX(100%);
}
</style>
<div id="photo-container">
<img class="photo active" src="photo-1.jpg">
<img class="photo next" src="photo-2.jpg">
<img class="photo previous" src="photo-3.jpg">
</div>
<script>
const photos = document.querySelectorAll('.photo');
let index = 0;
setInterval(() => {
photos[index].classList.remove('active');
photos[index].classList.add(index >0 ? 'previous' : 'next');
index++;
if (index >= photos.length) {
index = 0;
}
photos[index].classList.remove('previous', 'next');
photos[index].classList.add('active');
}, 5000);
</script>

代碼解析:

首先使用了flexbox布局,將圖片容器的display屬性設為flex,overflow設為hidden,即使圖片之間寬度超出容器的范圍也會被隱藏。每個圖片的class均為“photo”,默認opacity屬性設為0,則圖片不可見。

接下來利用CSS3的transition屬性來設定過渡動畫。active類表示當前展示的圖片,previous和next分別表示上一張和下一張圖片,通過transform: translateX()函數設定位置,在圖片切換的時候可以產生平移效果。transition-delay則是設定延時,需要等到opacity屬性變化完成后,才會觸發transform的平移效果。

最后是JS的部分,使用setInterval函數設定每5秒的時間周期,先設定當前index所表示的圖片的class,之后再將index自增,之后把下一張圖片的class設定為“active”。

總結:

在HTML中實現照片動態效果有多種方式,以上僅為其中一種??梢酝ㄟ^自定義動畫、JavaScript代碼等其他方式實現自己想要的照片特效。