CSS3點點閃爍效果可以讓網頁看起來更加有趣和生動,通過簡單的CSS代碼即可實現,下面就為大家詳細介紹一下:
.blink{ animation: blink .75s linear infinite; } @keyframes blink{ 0%{opacity:1;} 50%{opacity:0.5;} 100%{opacity:1;} }
上述代碼中,.blink為需要添加閃爍效果的元素類名,animation屬性用于定義動畫,blink為動畫名稱,.75s為動畫持續時間,linear為動畫執行方式,infinite表示動畫永久循環。keyframes則用于定義動畫的關鍵幀,0%表示初始狀態,100%表示結束狀態,50%表示動畫中間狀態。
除了上述代碼,還可以通過太陽花形式的動畫實現點點閃爍效果,代碼如下:
.loader{ width:200px; height:200px; position:relative; } .loader:before, .loader:after{ content:""; position:absolute; top:0;left:0; width:100%;height:100%; } .loader:before{ border-radius:50%; border:1px solid #FFF; animation: loader 1.25s cubic-bezier(0,0.2,0.8,1) infinite; } .loader:after{ border-radius:50%; box-shadow:0px 0px 10px 0px #FFF; animation: pulse-ring 1.25s cubic-bezier(0,0.2,0.8,1) infinite; } @keyframes loader{ 0%{transform: rotate(0deg);} 100%{transform: rotate(360deg);} } @keyframes pulse-ring{ 0%{transform: scale(0.5);opacity:1;} 50%{transform: scale(1);opacity:0.5;} 100%{transform: scale(2);opacity:0;} }
上述代碼中,.loader為需要添加動畫的元素類名,width和height分別為元素的寬高,position為相對定位。loader:before和loader:after為偽元素,content設置為空,position為絕對定位,top和left為0,width和height都為100%。
.loader:before則通過border-radius屬性定義圓形,前景色為白色,邊框為1px的圓形框,animation屬性則為loader動畫,持續時間為1.25s,cubic-bezier表示動畫緩動方式,infinite則是動畫永久循環。
.loader:after則通過border-radius定義圓形,添加box-shadow制造仿3D效果,animation同上。
最后兩個keyframes分別控制loader和pulse-ring動畫,實現太陽花形式的點點閃爍效果。