這篇文章主要介紹“怎么用CSS steps()函數(shù)實(shí)現(xiàn)隨機(jī)翻牌效果”,在日常操作中,相信很多人在怎么用CSS steps()函數(shù)實(shí)現(xiàn)隨機(jī)翻牌效果問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么用CSS steps()函數(shù)實(shí)現(xiàn)隨機(jī)翻牌效果”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
站在用戶的角度思考問題,與客戶深入溝通,找到龍湖網(wǎng)站設(shè)計(jì)與龍湖網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋龍湖地區(qū)。
翻牌是大家很熟悉的一個(gè)互動(dòng)效果,通常在抽獎(jiǎng)活動(dòng)中出現(xiàn)。那么不借助 JavaScript 是否能夠?qū)崿F(xiàn)隨機(jī)翻牌效果?翻牌效果肯定是沒有問題,CSS 沒有隨機(jī)函數(shù),今天就來分享一個(gè)另類的交互實(shí)現(xiàn)思路。
CSS
沒有內(nèi)置的“隨機(jī)”函數(shù),沒有像Javascript
中的Math.random()
函數(shù),也根本無法生成隨機(jī)數(shù)或隨機(jī)顏色。
基于上面的問題,需要轉(zhuǎn)換思路,讓元素通過復(fù)雜的動(dòng)畫實(shí)現(xiàn)出隨機(jī)的效果。實(shí)現(xiàn)的原理讓紙牌快速地呈現(xiàn)出不同的狀態(tài),讓這些紙牌在1秒內(nèi)循環(huán)通過所有52
個(gè)狀態(tài),用戶點(diǎn)擊每張紙牌就暫停動(dòng)畫,并讓紙牌翻轉(zhuǎn)。
在線預(yù)覽:https://codepen.io/quintiontang/pen/OJmJRrV
此方案不足的地方就是無法避免三張牌出現(xiàn)相同的花色和牌面
使用動(dòng)畫使元素看起來隨機(jī)行為的這個(gè)思路是不很有趣,有點(diǎn)出乎意料,大部分用戶看到這個(gè)效果肯定意識(shí)不到時(shí)純 CSS
實(shí)現(xiàn)的。
現(xiàn)在 CSS
遠(yuǎn)不止我們現(xiàn)在看到的,它能夠帶來什么取決于創(chuàng)造性,我一直堅(jiān)信沒有實(shí)現(xiàn)不了的交互,只有想不到的交互。
效果主要用到 CSS 中的動(dòng)畫屬性 animation
,自定義一個(gè)動(dòng)畫過程 randomAnim
,點(diǎn)擊通過經(jīng)典的 input checkbox + label
組合,動(dòng)畫控制器 animation-play-state: paused
和 animation-play-state: running;
,下面是關(guān)鍵的steps()
。
steps()
是一個(gè)階躍函數(shù)(timing-function
),允許將動(dòng)畫或者過渡效果分割成段,而不是從一種狀態(tài)持續(xù)到另一種狀態(tài)的過渡。這個(gè)函數(shù)有兩個(gè)參數(shù):
第一個(gè)參數(shù)是一個(gè)正值,指定我希望動(dòng)畫分割的段數(shù)。
第二個(gè)參數(shù)是可選的,可設(shè)值:start
和 end
,表示在每個(gè)間隔的起點(diǎn)或是終點(diǎn)發(fā)生階躍變化,默認(rèn)是 end
。例如 steps(1,start)
,動(dòng)畫分成1步,動(dòng)畫執(zhí)行時(shí)為左側(cè)端點(diǎn)的部分為開始;steps(1,end)
,動(dòng)畫分成1步,動(dòng)畫執(zhí)行時(shí)為右側(cè)結(jié)尾端點(diǎn)的部分為開始。
階躍函數(shù)(
timing-function
)是用于每?jī)蓚€(gè)關(guān)鍵幀之間,而不是整個(gè)動(dòng)畫。
到此,關(guān)于“怎么用CSS steps()函數(shù)實(shí)現(xiàn)隨機(jī)翻牌效果”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!