首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]css做的拆红包特效

发布于 2024-11-11 15:55:58
0
13

拆红包是一种传统的中国文化,让人们感受到节日的欢乐和热闹。而在现代社会,拆红包也常常出现在移动互联网应用上。今天我们来介绍一下用CSS制作拆红包特效。/ 红包包裹 / .wrap { width: 3...

拆红包是一种传统的中国文化,让人们感受到节日的欢乐和热闹。而在现代社会,拆红包也常常出现在移动互联网应用上。今天我们来介绍一下用CSS制作拆红包特效。

/* 红包包裹 */
.wrap {
    width: 300px;
    height: 240px;
    background-image: url('red-envelope.png');
    background-size: 100% 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* 红包 */
.envelope {
    width: 120px;
    height: 120px;
    background-image: url('envelope.png');
    background-size: 100% 100%;
    position: absolute;
    transition: all 0.5s;
}

/* 鼠标悬停后改变位置 */
.envelope:hover {
    transform: translateY(-30px);
}

/* 开红包 */
.envelope.open {
    animation: open-envelope 1s steps(20) forwards;
}

/* 红包打开动画 */
@keyframes open-envelope {
    from {
        background-position-x: 0%;
    }
    to {
        background-position-x: -2000%;
    }
}

/* 红包内部 */
.inner {
    width: 100%;
    height: 100%;
    background-image: url('inner.png');
    background-size: 100% 100%;
    display: none;
}

/* 红包打开后显示内部 */
.envelope.open .inner {
    display: block;
} 

在CSS中,我们首先创建了一个红包包裹(.wrap)和一个红包(.envelope)。红包拆开后,里面会显示一个内部(.inner)。我们在红包上设置了鼠标悬停的效果,让红包在鼠标悬停时上移,提高交互体验。

当用户点击红包时,我们给红包添加一个类名“open”,并给这个类设置一个动画效果。在动画中,我们通过改变背景图片的位置来实现红包打开的效果。打开后,内部就会显示出来。这样,我们就完成了一个简单的拆红包特效。

评论
一个月内的热帖推荐
91云脑
Lv.1普通用户

62849

帖子

14

小组

291

积分

赞助商广告
站长交流