您必須根據(jù)狀態(tài)更改模式的類別。 (條件類別名稱)
這是一種使用您想要的內(nèi)容創(chuàng)建模式的簡(jiǎn)單方法:
首先,定義 CSS 動(dòng)畫:
.modal-slide-down { animation-name: slide-down; animation-duration: 0.5s; animation-fill-mode: forwards; } @keyframes slide-down { 0% { transform: translateY(-100%); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } }
然後,在您的 React 元件中,新增一個(gè)狀態(tài)變數(shù)來(lái)追蹤模式是否應(yīng)該開啟或關(guān)閉:
const [isOpen, setIsOpen] = useState(false);
當(dāng)使用者點(diǎn)擊按鈕或執(zhí)行其他動(dòng)作來(lái)開啟模式時(shí),將 isOpen 狀態(tài)設(shè)為 true:
<button onClick={() => setIsOpen(true)}>Open Modal</button>
最後,根據(jù) isOpen 狀態(tài)有條件地將 CSS 類別套用到模式:
<div className={`modal ${isOpen ? 'modal-slide-down' : ''}`}> {/* Modal content goes here */} </div>
更多解釋:
#當(dāng)isOpen
狀態(tài)為true時(shí),在模態(tài)元件中會(huì)加入modal-slide-down
類,從而觸發(fā)向下滑動(dòng)動(dòng)畫。當(dāng) isOpen
狀態(tài)為 false 時(shí),modal-slide-down
類別將會(huì)移除,從而觸發(fā)上滑動(dòng)畫。
透過(guò)這些更改,模式將在打開時(shí)向下滑動(dòng)到視圖中,並在關(guān)閉時(shí)向上滑動(dòng)回來(lái)。當(dāng)然,您可能需要調(diào)整動(dòng)畫持續(xù)時(shí)間和其他 CSS 屬性以適合您的特定用例。
希望我能夠解決您的問(wèn)題。