CSS3是網頁開發中使用最廣泛的樣式技術之一,它可以為網頁添加各種炫酷的效果和動畫。在這里我們將討論如何使用CSS3來實現一個開獎動畫效果。
/*定義開獎動畫的樣式*/ @keyframes lottery { 0% { transform: translateY(-100%); opacity: 0; } 35% { opacity: 1; } 70% { opacity: 1; } 100% { transform: none; opacity: 1; } } .lottery { animation-name: lottery; /*指定動畫名稱*/ animation-duration: 1s; /*指定動畫時間*/ animation-timing-function: ease-in-out; /*指定動畫時間函數*/ } /*定義獎品列表樣式*/ .item { width: 100px; height: 100px; border: 1px solid #ccc; display: inline-block; margin-right: 20px; transform: scale(0); /*默認縮放為0*/ opacity: 0; /*默認透明度為0*/ } /*定義開獎按鈕樣式*/ .btn { display: inline-block; background-color: #007bff; color: #fff; padding: 10px 20px; border-radius: 5px; cursor: pointer; }
在頁面中,我們需要添加一個獎品列表和一個開獎按鈕。獎品列表使用
- 和
- 標簽來實現,每個獎品使用一個.item類。開獎按鈕使用一個.btn類來實現。
- 獎品1
- 獎品2
- 獎品3
- 獎品4
開 獎接下來我們需要用JavaScript來處理開獎動畫。
var items = document.getElementsByClassName('item'); //獲取獎品列表 var btn = document.getElementsByClassName('btn')[0]; //獲取開獎按鈕 var winner; //中獎的獎品 btn.onclick = function() { //綁定點擊事件 winner = Math.floor(Math.random() * items.length); //生成隨機數 for (var i = 0; i< items.length; i++) { if (i === winner) { items[i].classList.add('lottery'); //添加開獎動畫類 } else { items[i].style.opacity = '0'; //其他獎品透明度為0 items[i].style.transform = 'scale(0)'; //其他獎品縮放為0 } } }
現在我們已經完成了CSS3開獎動畫效果的實現。當點擊開獎按鈕時,中獎的獎品將以動畫方式展開,并且其他獎品會逐漸消失。這樣的效果可以為網頁增加更加豐富的交互效果,給用戶帶來更好的使用體驗。
上一篇css 圖片 中心對齊
下一篇css3底色