css3關鍵幀動畫實現輪播效果

2021-09-26 22:42:37 字數 2737 閱讀 3757

實現效果:開啟手機京東,可以看到首頁的頭部,以這個頭部為基礎,仿寫乙個類似的樣式。

思路:仔細觀察可以發現,手機京東的頭部是以乙個搜尋欄和輪播特效組成的,而這個搜尋欄是以輪播特效做為背景的,現在運用css3關鍵幀動畫,可以實現這樣的頭部效果。

測試:首先,寫乙個簡單的測試來驗證思路是否正確,這樣可以排除其他樣式的干擾;測試如下:

1.兩個巢狀的div,內部div1以簡單的文字和模擬的搜尋欄

1

<

body

>

2<

div

class

="diva"

>

3<

div

class

="div1"

>頭部4

<

img

src="../img/放大鏡.png"

>

5div

>

6div

>

7body

>

2.由於動畫的主要原理在於改變背景的位置,這裡先介紹一下background-img,知道的同學自行跳過吧

由url插入

1

div

效果:

很明顯看到,背景的大小不適合div的寬高,所以,用background-size設定的寬高

1

background-image: url(../img/放大鏡.png);

2background-size: 20px 30px;

效果:

因為背景圖預設的設定是重複背景,所以更改為禁止重複

1

background-image: url(../img/放大鏡.png);

2background-size: 20px 30px;

3background-repeat: no-repeat;

/*禁止重複

*/

效果:

這個時候呢,假如想調整的位置,就需要設定的position

1

background-image: url(../img/放大鏡.png);

2background-size: 20px 30px;

3background-repeat: no-repeat;

/*禁止重複*/4

background-position: 100px 50px;

/*這裡設定的是px座標,也可以用left或者百分比的形式設定位置

*/

效果:

.給外部diva設定寬度、背景色和邊框,便於觀察;給內部div1新增寬高和背景,注意這裡div1的寬度是背景寬度的總和;當然,div1中的也要適當調整寬高。

1

.diva

6.div1

14.div1 img

大概就是這個效果啦

4.將div1的寬度設定為一張的寬度,就定義乙個相當於使用者的可見視窗

1

.div1

效果:

5.由於設定的視窗大小,剩餘的兩張不可見了,相當於屋子裡面有三個人,你從乙個視窗看進去,只看到了乙個人,其他人被牆壁遮住了,這時如果這個人往左走,離開視窗,第二個人走到視窗位置,就可以看到第二個人了。

1

.div1

效果:

css3關鍵**:

1

.home

12@keyframes kbg

165%

1920

30%23

40%26

2760%

3070%

3334

95%37

100%

40}

總結:關鍵幀輪播的視覺效果就和手機京東差不多,所缺的就是一些細節的地方。可能有人說網上的輪播器一大把,這樣做是重複造輪子,但是我堅信學以致用,多練習才能理解和掌握知識要點。

題外話:

css3關鍵幀動畫animation

css關鍵幀動畫 animation name 屬性為 keyframes 動畫規則名稱。若設定為none則覆蓋已有的動畫效果。animation duration 規定動畫完成乙個週期所花費的秒或毫秒。預設是0。animation timing function 規定動畫的速度曲線。預設是 eas...

CSS3 animation 關鍵幀 動畫

動畫 animation 首先定義一套關鍵幀 方法 keyframes 動畫名稱 25 50 75 100 注 可以從0 一直設定到100 然後呼叫 動畫名稱 方法 animation 1s 2s 動畫名稱 運動方式 動畫執行的次數 第乙個值 運動的總時間 第二個值 延遲的運動時間 第三個值 動畫名...

詳解CSS動畫屬性關鍵幀keyframes全解析

大概有多久沒有更新專欄文章了。半年?下半年忙到起飛,或者毫不誇張的說是發射?僅有的一點個人時間,上半年貢獻給了python,現在差不多已忘掉了七七八八 一首 涼涼 送給自己 下半年貢獻給了j ascript,終於鼓起勇氣系統的開始學習js了 換台,梁靜茹 勇氣 走起 本來想一直等等等,等到webap...