CSS中常常會使用:hover偽類來實現(xiàn)鼠標(biāo)經(jīng)過的效果,然而有時候需要給鼠標(biāo)經(jīng)過的元素加上延遲效果,即鼠標(biāo)經(jīng)過一定時間后才觸發(fā)該元素的效果。下面我們來看一下如何使用CSS實現(xiàn)另類的鼠標(biāo)經(jīng)過效果。
.delayed-hover { transition-delay: 0.5s; } .delayed-hover:hover { /* 在0.5秒后才會執(zhí)行下面的樣式效果 */ color: red; }
在這段CSS代碼中,我們使用了transition-delay屬性來設(shè)置延遲時間,單位為秒。然后我們在需要延遲觸發(fā)效果的元素上加上.delayed-hover類,并為其設(shè)置color屬性的值,當(dāng)鼠標(biāo)經(jīng)過該元素時,會在0.5秒后才會觸發(fā)該元素文字顏色變紅的效果。
部分瀏覽器不支持transition-delay屬性,我們可以使用動畫效果來代替,如下所示:
.delayed-hover { animation: delayed-hover 0.5s ease; } /* 關(guān)鍵幀動畫 */ @keyframes delayed-hover { to { color: red; } }
在這段CSS代碼中,我們使用了animation屬性來觸發(fā)delayed-hover動畫,延遲時間同樣為0.5秒,過渡效果為"ease",即緩動效果。而在@keyframes中,我們設(shè)置了動畫從to(結(jié)果)狀態(tài)時元素文字顏色變紅的效果。
鼠標(biāo)經(jīng)過延遲效果可以讓我們的頁面看起來更加動感和生動,合理運用可以優(yōu)化用戶體驗。CSS中的transition-delay和動畫效果可以實現(xiàn)該效果,值得我們學(xué)習(xí)和掌握。