在現代的網站中,設計一個優雅的時鐘已經成為了一種流行趨勢。不需要任何JavaScript或者其他腳本,使用純CSS即可展示一個美觀的時鐘,這對于前端開發者來說是一種新的技術挑戰。
建立這樣一個 CSS 時鐘,需要按小時、分鐘、秒鐘來覆蓋所有可能的時間,并且注意時鐘運作的角度和時間跨度。如果您想要一個完整的 CSS 方案,我們可以建議您閱讀這些文章。
/* 設定一個單位 rotation-keyframe,每1秒才旋轉 6度 */ @keyframes rotation { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* 設定一個單位 hour-keyframe,每 12小時旋轉 360度 */ @keyframes hour { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .clock { /* 設定外圍的圓形盤 */ border: 20px solid #555; border-radius: 50%; height: 200px; width: 200px; position: relative; } .clock-face { /* 設定分針和秒針的基本形狀 */ background: #fff; border-radius: 50%; height: 60%; left: 50%; position: absolute; top: 20%; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); width: 60%; z-index: 10; } /* 建立時針,注意小時數和時針的關系 */ .hour { background: #000; height: 30%; left: 50%; position: absolute; top: 25%; -webkit-transform-origin: 50% 90%; transform-origin: 50% 90%; width: 5px; z-index: 10; } /* 建立分針 */ .minute { background: #000; height: 45%; left: 50%; position: absolute; top: 15%; -webkit-transform-origin: 50% 90%; transform-origin: 50% 90%; width: 3px; z-index: 10; } /* 建立秒針 */ .second { background: #f00; height: 50%; left: 50%; position: absolute; top: 10%; -webkit-transform-origin: 50% 90%; transform-origin: 50% 90%; width: 1px; z-index: 10; } /* 建立小時標記 */ .hour-marking { background: #000; height: 8%; left: 48%; position: absolute; top: 16%; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; width: 4px; z-index: 10; } /* 建立分鐘標記 */ .minute-marking { background: #000; height: 4%; left: 48%; position: absolute; top: 12%; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; width: 2px; z-index: 10; } /* 考慮IE9的兼容性,以明確垂直對齊 */ @media screen and (min-width: 768px) { .clock:before { content: " "; float: left; height: 100%; margin-top: -0.5em; } .hour, .minute, .second, .hour-marking, .minute-marking { -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; } }
在這里,我們建立了一個 CSS3 動畫,用于每秒旋轉一次。同樣,一個 12 小時的時刻將會旋轉一圈。接著,針面的形狀使用簡單的 CSS 簡單地定義,而針柄通過定義出合適的高度和寬度進行實現。
總的來說,這個 CSS 時鐘是非常重要的。首先,它不需要使用 JavaScript 并且不需要進行多余的腳本調試即可工作。其次,展示時間的方式非常漂亮,可以增添一個頁面的整潔度。
無論如何,這些課程可以用來學習 CSS3 動畫,并且培養您的設計技能。