CSS中經常用到彈出框,但是有些情況下我們希望用戶不點擊任何按鈕,彈出框自動消失,這個時候怎么做呢?我們可以使用一些CSS技巧來實現這個功能:
/* 給彈出框設置一個CSS動畫 */ .modal { animation: fadeOut 5s forwards; } /* 定義動畫細節 */ @keyframes fadeOut { from { opacity: 1; } /* 這里要用opacity動畫 */ to { opacity: 0; } }
以上代碼給彈出框設置了一個名為fadeOut的動畫,動畫時間為5秒,動畫結束后保持狀態。但是,我們看到動畫中使用了一個opacity屬性,這是為什么呢?
因為opacity屬性可以實現將元素的透明度從1變為0的效果,這樣就可以讓彈出框看上去消失了。同時,我們使用forwards關鍵字表示動畫結束后保持當前狀態,讓彈出框保持消失后的狀態。
需要注意的是,如果你的彈出框不是通過純CSS實現的,還需要通過JS將彈出框的class設置為modal。例如:
var modal = document.getElementById("my-modal"); modal.classList.add("modal"); // 添加modal類名
這樣就可以讓彈出框自動消失了,不用用戶手動點擊按鈕。