CSS3時(shí)鐘是利用CSS3動(dòng)畫(huà)的特性,將數(shù)字分解成一個(gè)個(gè)小的元素,再通過(guò)旋轉(zhuǎn)和平移的方式來(lái)實(shí)現(xiàn)時(shí)鐘的動(dòng)態(tài)效果。下面就讓我們一起來(lái)學(xué)習(xí)如何使用CSS3寫(xiě)出一個(gè)炫酷的時(shí)鐘吧!
.clock { position: relative; width: 200px; height: 200px; margin: 0 auto; border-radius: 50%; background-color: #e5e5e5; box-shadow: 0px 0px 10px #888888; } .hour, .minute, .second { position: absolute; width: 2px; height: 50px; top: 50%; left: 50%; transform-origin: bottom center; background-color: #000; } .second { height: 80px; background-color: #f00; animation: rotate 60s linear infinite; } .minute { height: 100px; background-color: #000; animation: rotate 3600s linear infinite; } .hour { height: 120px; background-color: #000; animation: rotate 43200s linear infinite; } @keyframes rotate { from { transform: rotate(0); } to { transform: rotate(360deg); } }
上面的代碼中,我們先創(chuàng)建了一個(gè)容器,用來(lái)承載時(shí)鐘。然后,通過(guò)偽元素“hour”、“minute”和“second”來(lái)表示小時(shí)、分鐘和秒鐘的指針。這里需要使用到CSS3的transform屬性來(lái)實(shí)現(xiàn)指針的旋轉(zhuǎn)和平移。
同時(shí),在“hour”、“minute”和“second”元素上設(shè)置不同的動(dòng)畫(huà)時(shí)間,使它們能夠按照不同的速度進(jìn)行旋轉(zhuǎn)。其中,“second”元素的動(dòng)畫(huà)時(shí)間為60秒,即每60秒旋轉(zhuǎn)一圈;“minute”元素的動(dòng)畫(huà)時(shí)間為3600秒,即每3600秒旋轉(zhuǎn)一圈;“hour”元素的動(dòng)畫(huà)時(shí)間為43200秒,即每43200秒旋轉(zhuǎn)一圈。
通過(guò)上述代碼的實(shí)現(xiàn),我們就可以得到一個(gè)完整的CSS3時(shí)鐘效果。大家可以將代碼復(fù)制到自己的項(xiàng)目中進(jìn)行實(shí)踐,同時(shí)也可以根據(jù)需求進(jìn)行改進(jìn)和優(yōu)化。