何實(shí)現(xiàn)前端CSS-3D交互,跟隨鼠標(biāo)3D旋轉(zhuǎn)。
這期視頻分享一個(gè)三D卡片的交互效果。圖片會(huì)在鼠標(biāo)滑入后跟隨鼠標(biāo)進(jìn)行三D旋轉(zhuǎn)。
要讓卡片進(jìn)行3D旋轉(zhuǎn),需要使用騰騰、rotate以及透視視劇perspective卡片。3D旋轉(zhuǎn)效果只需要rotatex和rotatey的旋轉(zhuǎn)就可以了。
通常情況下透視數(shù)據(jù)p2x的取值為五百px左右,這里設(shè)置為五百px。然后修改旋轉(zhuǎn)xy的詞,發(fā)現(xiàn)靜態(tài)效果可以呈現(xiàn)出來。如何跟隨鼠標(biāo)?就需要監(jiān)聽鼠標(biāo)滑入、滑動(dòng)、滑出事件。
首先需要給滑動(dòng)設(shè)置一個(gè)確定旋轉(zhuǎn)范圍,然后在鼠標(biāo)移動(dòng)監(jiān)聽的時(shí)候進(jìn)行計(jì)算。計(jì)算公式非常常見,就不再贅述。
最后把值復(fù)制給旋轉(zhuǎn)的xy,通過css變量的方式進(jìn)行復(fù)制。然后在鼠標(biāo)滑出的時(shí)候再把旋轉(zhuǎn)的xy復(fù)制為零,就實(shí)現(xiàn)了這個(gè)功能。
插入滑出的時(shí)候沒有過渡效果,比較生硬。可以加上過渡效果,但是因?yàn)樾D(zhuǎn)的xy值修改的頻率太高了,過渡效果會(huì)有延遲。而且d bug看日志的時(shí)候還會(huì)卡的不行。也可以僅在鼠標(biāo)滑出的時(shí)候增加過渡效果,這樣在鼠標(biāo)離開的時(shí)候就有過渡效果了。
但是鼠標(biāo)滑入的時(shí)候還是會(huì)比較生硬,因?yàn)闀?huì)接著跟鼠標(biāo)旋轉(zhuǎn),所以體驗(yàn)還好。如果有小伙伴知道在反復(fù)去掉過渡效果的情況下滑入,如何處理過渡效果,歡迎在評論區(qū)進(jìn)行討論。那么這期視頻就到這里結(jié)束了,喜歡的小伙伴可以幫忙點(diǎn)點(diǎn)贊,感謝大家的觀看,拜拜。
圖1
圖2
圖3
圖1
圖2
圖3
源碼完整,需要的朋友可以下載學(xué)習(xí)(圖4)
圖4
*請認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。