CSS3的animation
屬性可以讓元素產生動畫效果。而其中的infinite
屬性值則可以讓動畫無限循環播放。
但是,如果我們想讓多個元素依次循環執行同一個動畫,該怎么實現呢?
這時候,就需要借助CSS3的animation-delay
屬性了。這個屬性可以讓動畫在開始執行前暫停一段時間,從而實現元素逐個執行動畫的效果。
下面是一個簡單的示例:
.box { width: 50px; height: 50px; background-color: #f00; animation: example 2s infinite; } @keyframes example { 0% { transform: translateX(0); } 100% { transform: translateX(100px); } } .box:nth-child(2) { animation-delay: 0.2s; } .box:nth-child(3) { animation-delay: 0.4s; } .box:nth-child(4) { animation-delay: 0.6s; }
在上面的示例中,我們定義了一個.box
類,將其寬高設置為50px并添加了一個紅色背景色。然后定義了一個@keyframes
規則,讓元素從左往右移動100px。
接下來,我們通過:nth-child
偽類分別為每個.box
元素設置了不同的animation-delay
值,以便實現元素依次循環執行動畫的效果。
運行代碼后,就可以看到每個.box
元素依次開始執行動畫了。
總的來說,CSS3的animation-delay
屬性可以很方便地實現元素依次循環執行動畫的效果,可以應用于輪播圖、導航欄等多個場景中。