首頁  >  文章  >  web前端  >  CSS實現輪播圖效果(附程式碼)

CSS實現輪播圖效果(附程式碼)

烟雨青岚
烟雨青岚轉載
2020-06-28 13:26:5125584瀏覽

CSS實現輪播圖效果(附程式碼)

CSS實作輪播圖效果(附程式碼)

理論基礎

CSS3 animation 屬性與@keyframes 規則

#主體思想

1、準備相同大小的多個圖片

#2 、將要展示圖片橫排放在一個圖片容器裡面

3、在圖片容器外再加一個展示容器,展示容器大小為圖片大小

4、為圖片容器添加自訂動畫,在動畫不同階段設定遞增的偏移值

#注意事項

  • #動畫效果分為切換與停留兩部分

  • 自訂動畫階段與圖片數量相關

  • 動畫各階段偏移值與圖片大小相關

  • #本文中範例最後一張圖片到第一張圖片沒有切換效果,一個想法是可以由最後一張圖片再挨個切換到第一個圖片

HTML

#
<p id="container">
    <p id="photo">
        <img src="1.png" />
        <img src="2.png" />
        <img src="3.png" />
    </p>
</p>

解析:
這裡創建了三個img 元素,img 元素外面是圖片容器,圖片容器外面是展示容器。

CSS

#container {
	width: 400px;
	height: 300px;
	overflow: hidden;
}

#photo {
	width: 1200px;
	animation: switch 5s ease-out infinite;
}

#photo > img {
	float: left;
	width: 400px;
	height: 300px;
}

@keyframes switch {
	0%, 25% {
		margin-left: 0;
	}
	35%, 60% {
		margin-left: -400px;
	}
	70%, 100% {
		margin-left: -800px;
	}
}

解析:

#1、展示容器大小和圖片大小一致

2、圖片新增float 效果,不用考慮麻煩的margin 問題

3、由於範例只有三個圖片,所以添加了三個動畫階段,每一階段都是透過設定遞增的margin-left 值達到切換的效果

4、設定的動畫階段(如:35%~60%)是動畫停留部分,和上一階段空餘時間(如25%~35%)即為動畫切換部分,各部分時間長短需要自行把控

運行效果

感謝大家的閱讀,希望大家收益多多。

本文轉自:https://blog.csdn.net/u011848617/article/details/80468463

推薦教學:《CSS教學

以上是CSS實現輪播圖效果(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除