溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CSS3實現(xiàn)輪播圖的方法

發(fā)布時間:2020-06-28 15:32:49 來源:億速云 閱讀:250 作者:元一 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)CSS3實現(xiàn)輪播圖的方法,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

理論基礎(chǔ)

CSS3是CSS技術(shù)的升級版本,CSS3語言開發(fā)是朝著模塊化發(fā)展。CSS即層疊樣式表(Cascading StyleSheet),是在網(wǎng)頁制作時采用的層疊樣式表技術(shù),可以有效地對頁面的布局、字體、顏色、背景和其它效果實現(xiàn)更加精確的控制。CSS龐大而且比較復(fù)雜,CSS3把CSS分解為一些小的模塊,更多新的模塊也被加入進(jìn)來。CSS3中的模塊包括: 盒子模型、列表模塊、超鏈接方式 、語言模塊 、背景和邊框 、文字特效 、多欄布局等。

CSS3 animation 屬性和 @keyframes 規(guī)則

主體思想

1、準(zhǔn)備相同大小的多個圖片

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

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

4、給圖片容器添加自定義動畫,在動畫不同階段設(shè)置遞增的偏移值

注意事項

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

  • 自定義動畫階段與圖片數(shù)量相關(guān)

  • 動畫各階段偏移值與圖片大小相關(guān)

  • 本文中示例最后一個圖片到第一個圖片沒有切換效果,一個思路是可以由最后一個圖片再挨個切換到第一個圖片

HTML

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

解析:
這里創(chuàng)建了三個 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、由于示例只有三個圖片,所以添加了三個動畫階段,每一階段都是通過設(shè)置遞增的 margin-left 值達(dá)到切換的效果

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

運行效果

CSS3實現(xiàn)輪播圖的方法

關(guān)于CSS3實現(xiàn)輪播圖的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI