基于box-shadow實現的打點效果
理論上,box-shadow可以實現任意的圖形效果,自然我們可以利用box-shadow生成我們的點效果,然后通過animation控制不同時間點點的數目就可以實現點點點… loading效果了~
您可以狠狠地點擊這里:CSS3 animation box-shadow漸進實現打點動畫demo
1. 漸進兼容
支持CSS3 animation動畫的瀏覽器顯示的就是打點動畫效果;對于不支持的瀏覽器,IE7/IE8顯示的是真實的字符…, IE9瀏覽器雖然也是CSS3生成,但是是靜態的,沒有動畫效果;此乃漸進兼容。
2. 實現原理
首先HTML非常簡單,就是一個標簽一個類名(標簽里面一定要空空如也),其他什么都不需要關心,就可以游刃幾乎各種場景,如下:
XML/HTML Code復制內容到剪貼板
訂單提交中<span class="dotting"></span>
上面代碼這個類名為dotting的span就是我們所有的玄機所在,頁面任意地方,只要有這一小撮HTML就可以有打點動畫,與文字混排良好,且顏色自動匹配。例如,本文“標題一”和“標題二”后面的點點點動畫就是添加了這么點HTML.
下面是萬眾矚目的CSS代碼了:
CSS Code復制內容到剪貼板
.dotting {
display: inline-block; min-width: 2px; min-height: 2px;
box-shadow: 2px 0 currentColor, 6px 0 currentColor, 10px 0 currentColor; /* for IE9+, …, 3個點 */
animation: dot 4s infinite step-start both; /* for IE10+, … */
*zoom: expression(this.innerHTML = ‘…’); /* for IE7. 若無需兼容IE7, 此行刪除 */
}
.dotting:before { content: ‘…’; } /* for IE8. 若無需兼容IE8, 此行以及下一行刪除*/
.dotting::before { content: ”; } /* for IE9+ 覆蓋 IE8 */
:root .dotting { margin-right: 8px; } /* for IE9+,FF,CH,OP,SF 占據空間*/
@keyframes dot {
25% { box-shadow: none; } /* 0個點 */
50% { box-shadow: 2px 0 currentColor; } /* 1個點 */
新聞熱點
疑難解答