CSS翻日歷動(dòng)畫是一種常用的網(wǎng)頁(yè)設(shè)計(jì)效果,在頁(yè)面展示日期和時(shí)間時(shí)非常實(shí)用。
實(shí)現(xiàn)這種效果的方法是通過(guò)CSS3中的transform屬性和transition過(guò)渡動(dòng)畫實(shí)現(xiàn)。具體步驟如下:
.calendar{ width: 300px; height: 300px; position: relative; perspective: 800px; } .calendar-item{ width: 100%; height: 100%; position: absolute; backface-visibility: hidden; transition: transform .8s ease-in-out; } .calendar-item-back{ transform: rotateY(180deg); } .calendar .calendar-item:nth-child(odd){ background: #fbfbfb; } .calendar .calendar-item:nth-child(even){ background: #f5f5f5; } .calendar .calendar-item:hover{ transform: rotateY(180deg); } .calendar .calendar-item:hover .calendar-item-back{ transform: rotateY(0deg); }
以上代碼中,class為calendar的div設(shè)置了perspective屬性,使其產(chǎn)生3D效果。同時(shí),每個(gè)日期元素的class為calendar-item,并設(shè)置backface-visibility:hidden;屬性,避免轉(zhuǎn)換過(guò)程中出現(xiàn)背后元素翻轉(zhuǎn)過(guò)度的情況。
通過(guò)設(shè)置:hover偽類,當(dāng)鼠標(biāo)懸停在日期元素上時(shí),執(zhí)行transform: rotateY(180deg);屬性,使其沿y軸翻轉(zhuǎn)180度。同時(shí),使用transition屬性,使翻轉(zhuǎn)過(guò)程變得平滑自然。當(dāng)元素翻轉(zhuǎn)到背面時(shí)(class為calendar-item-back),使用transform: rotateY(0deg);屬性將其恢復(fù)到正面狀態(tài)。
運(yùn)用以上代碼,我們就可以輕松地實(shí)現(xiàn)一個(gè)美觀、實(shí)用的CSS翻日歷動(dòng)畫。