CSS3動畫是現代Web設計中必不可少的一部分。它能夠為我們提供各種各樣的交互效果和動態效果,使我們的頁面更加生動有趣。今天我們就來看一下如何使用CSS3動畫來制作一個鍵盤。
/* 設定鍵盤的大小和位置 */ .keyboard { width: 500px; height: 300px; margin: 0 auto; position: relative; } /* 設定所有按鍵的樣式 */ .key { width: 40px; height: 40px; background: #eee; border: 1px solid #ccc; position: absolute; top: 80px; left: 40px; transition: all .2s ease-in-out; } /* 將每個按鍵設定為不同的位置 */ .key:nth-child(2) { left: 80px; } .key:nth-child(3) { left: 120px; } ... /* 設定按下按鍵時的樣式 */ .key:active { transform: translateY(3px); box-shadow: 0 1px 0 rgba(0,0,0,.4); }
上面的代碼是樣式部分的代碼,我們設定了鍵盤的大小、位置以及每個按鍵的樣式。其中的transition屬性是過渡效果,會在按下按鍵時產生動畫效果。
下面是JavaScript部分的代碼,它可以使得在按下按鍵時,按鍵會被按下去,松開按鍵時,按鍵會彈起來:
// 獲取所有的按鍵 var keys = document.querySelectorAll('.key'); // 為每個按鍵添加事件監聽器 keys.forEach(function(key) { key.addEventListener('mousedown', function() { // 在按下時添加"active"類 key.classList.add('active'); }); key.addEventListener('mouseup', function() { // 在松開時移除"active"類 key.classList.remove('active'); }); });
最后,我們來添加一個鍵盤背景的動畫效果。這一步需要使用@keyframes關鍵字來創建一個動畫序列:
/* 創建鍵盤背景的動畫序列 */ @keyframes keyboard-bg { 0% { background: #fff; } 50% { background: #eee; } 100% { background: #fff; } } /* 將鍵盤背景的動畫序列應用到鍵盤上 */ .keyboard { animation: keyboard-bg 5s infinite; }
現在,我們就完成了一個用CSS3動畫制作的鍵盤啦!
上一篇lucene php版
下一篇ajax 文件流 zip