首頁 >web前端 >css教學 >純CSS如何實現圖片輪播

純CSS如何實現圖片輪播

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-04-02 14:42:024210瀏覽

在css中,可以使用animation屬性和@keyframes規則來實現圖片輪播效果。只需要先使用@keyframes建立動畫;然後使用animation屬性來設定動畫所需時間,速度以及次數等即可。

純CSS如何實現圖片輪播

本文操作環境:Windows7系統、HTML5&&CSS3版,DELL G3電腦

首先準備相同大小的多張圖片,將會展示圖片橫排放在一個圖片容器裡面。在圖片容器外再加一個展示容器,展示容器大小為圖片大小,為圖片容器新增自訂動畫,在動畫不同階段設定遞增的偏移值。

動畫效果分為切換和停留兩部分,自訂動畫階段與圖片數量相關,動畫各階段偏移值與圖片大小相關。

本文中範例的是有第一張圖片切換到最後一張圖片。

HTML

<body>
        <div id="container">
            <div id="photo">
                <img  src="images/1.jpg" / alt="純CSS如何實現圖片輪播" >
                <img  src="images/2.jpg" / alt="純CSS如何實現圖片輪播" >
                <img  src="images/3.jpg" / alt="純CSS如何實現圖片輪播" >
            </div>
        </div>
    </body>

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

CSS

<style type="text/css">
            #container {
                width: 400px;
                overflow: hidden;
            }
            #photo {
                width: 1200px;
                animation: switch 5s ease-out infinite;
            }
            #photo > img {
                float: left;
                width: 400px;
            }
            @keyframes switch {
                0%, 25% {
                    margin-left: 0;
                }
                35%, 60% {
                    margin-left: -400px;
                }
                70%, 100% {
                    margin-left: -800px;
                }
            }
        </style>

效果圖:

純CSS如何實現圖片輪播

解析:

  • 展示容器大小和圖片大小一致;

  • 圖片添加float 效果,不用考慮麻煩的margin 問題;

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

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

推薦學習:《css影片教學

以上是純CSS如何實現圖片輪播的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn