CSS3紅包雨是一種非常有趣的效果,在網(wǎng)上也越來(lái)越流行。這種效果可以通過(guò)CSS3實(shí)現(xiàn),無(wú)需JavaScript或其他腳本語(yǔ)言的支持。CSS3紅包雨效果的實(shí)現(xiàn)主要依靠CSS3的關(guān)鍵幀動(dòng)畫和偽元素的應(yīng)用。
/*首先定義紅包的樣式*/ .bag { position: absolute; width: 50px; height: 50px; background-image: url("./redbag.png"); background-size: 100% 100%; animation: fall 5s infinite linear; } /*定義紅包下落的動(dòng)畫*/ @keyframes fall { 0% { transform: translateY(0); } 100% { transform: translateY(2000px); } } /*接下來(lái)定義紅包雨的容器*/ .rain { position: relative; width: 100%; height: 400px; overflow: hidden; } /*使用偽元素生成紅包*/ .rain::before { content: ""; display: block; position: absolute; top: -50px; left: 0; width: 100%; height: 50px; background: url("./redbag.png") repeat-x; animation: drop 1s infinite linear; } /*定義紅包落下的動(dòng)畫*/ @keyframes drop { 0% { transform: translateY(0); } 100% { transform: translateY(400px); } }
以上是使用CSS3實(shí)現(xiàn)紅包雨效果的簡(jiǎn)單代碼示例。通過(guò)將紅包元素設(shè)為絕對(duì)定位,然后定義下落動(dòng)畫,就可以讓紅包在頁(yè)面上不斷下落。除此之外,使用偽元素生成紅包,可以避免使用JavaScript來(lái)動(dòng)態(tài)創(chuàng)建元素,同時(shí)還能節(jié)省頁(yè)面的加載時(shí)間。