满屏飞舞的心HTML动画,使用snowfall.jquery.js实现爱心满屏飞的效果

小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果。

第一步:

利用伪元素before和 :after画两个重叠在一起的长方形,如图所示:

2f4f35d2058c7b3c605f2145f2c384d1.png

body {

overflow-y: hidden;

}

.heart-body {

width: 500px;

margin: 100px auto;

position: relative;

}

.snowfall-flakes:before,

.snowfall-flakes:after {

content: "";

position: absolute;

left: 0px;

top: 0px;

display: block;

width: 30px;

height: 46px;

background: red;

border-radius: 50px 50px 0 0;

}

第二步:

利用 transform  属性将两个两个伪元素分别旋转负45度、45度,如图所示:

f379cb66dcdc79a26a054ea681c0c523.png

.snowfall-flakes:before {

-webkit-transform: rotate(-45deg);

/* Safari 和 Chrome */

-moz-transform: rotate(-45deg);

/* Firefox */

-ms-transform: rotate(-45deg);

/* IE 9 */

-o-transform: rotate(-45deg);

/* Opera */

transform: rotate(-45deg);

}

.snowfall-flakes:after {

-webkit-transform: rotate(45deg);

/* Safari 和 Chrome */

-moz-transform: rotate(45deg);

/* Firefox */

-ms-transform: rotate(45deg);

/* IE 9 */

-o-transform: rotate(45deg);

/* Opera */

transform: rotate(45deg);

}

第三步:

利用 left 属性,将伪元素 after 向左偏移一定像素,使两个微元素部分重叠,组成爱心样子,如图所示:

e08953ba5f4f2da19036e9865b8e0d52.png

.snowfall-flakes:after {

left: 13px;

-webkit-transform: rotate(45deg);

/* Safari 和 Chrome */

-moz-transform: rotate(45deg);

/* Firefox */

-ms-transform: rotate(45deg);

/* IE 9 */

-o-transform: rotate(45deg);

/* Opera */

transform: rotate(45deg);

}

爱心我们画完了,那么怎么让爱心实现满屏飞呢,其实只需要调用jquery.js和 snowfall.jquery.js就能实现,效果图如下:

c4b6c369d536c48743431d0e5c33f536.gif

代码如下:

body {

overflow: hidden;

}

.heart-body {

width: 500px;

margin: 100px auto;

position: relative;

}

.snowfall-flakes:before,

.snowfall-flakes:after {

content: "";

position: absolute;

left: 0px;

top: 0px;

display: block;

width: 30px;

height: 46px;

background: red;

border-radius: 50px 50px 0 0;

}

.snowfall-flakes:before {

-webkit-transform: rotate(-45deg);

/* Safari 和 Chrome */

-moz-transform: rotate(-45deg);

/* Firefox */

-ms-transform: rotate(-45deg);

/* IE 9 */

-o-transform: rotate(-45deg);

/* Opera */

transform: rotate(-45deg);

}

.snowfall-flakes:after {

left: 13px;

-webkit-transform: rotate(45deg);

/* Safari 和 Chrome */

-moz-transform: rotate(45deg);

/* Firefox */

-ms-transform: rotate(45deg);

/* IE 9 */

-o-transform: rotate(45deg);

/* Opera */

transform: rotate(45deg);

}

//调用飘落函数 实现飘落效果

$(document).snowfall({

flakeCount: 50 //爱心的个数

});

其实小颖觉得爱心画小一点比较好看,上面画那么大其实是为了方便大家看爱心更明显一些,小颖把爱心画小后,就好看多了,效果图如下:

b3a3db2d25a566c65debe07d8c8b5ee8.gif

小的爱心,需改变以下属性的值:

.snowfall-flakes:before,

.snowfall-flakes:after {

width: 10px;

height: 16px;

border-radius: 10px 10px 0 0;

}

.snowfall-flakes:after {

left: 4px;

}

以上所述是小编给大家介绍的使用snowfall.jquery.js实现爱心满屏飞效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

以下是一个基于HTML和CSS的满屏往右飘雪特效: HTML代码: ``` <!DOCTYPE html> <html> <head> <title>Snow Effect</title> <style type="text/css"> body { background-color: #000; overflow: hidden; } .snowflake { position: absolute; color: #fff; font-size: 2em; font-family: Arial, sans-serif; pointer-events: none; } </style> </head> <body> <script type="text/javascript"> var snowflakes = [], maxSnowflakes = 50, body = document.body; for (var i = 0; i < maxSnowflakes; i++) { var snowflake = document.createElement("div"); snowflake.className = "snowflake"; snowflake.innerHTML = "❅"; snowflake.style.top = "-50px"; snowflake.style.left = Math.random() * body.offsetWidth + "px"; snowflake.style.animationDelay = Math.random() * 3 + "s"; snowflake.style.animationDuration = Math.random() * 5 + 5 + "s"; snowflakes.push(snowflake); body.appendChild(snowflake); } </script> </body> </html> ``` CSS代码: ``` .snowflake { animation-name: snowfall; animation-timing-function: linear; animation-iteration-count: infinite; } @keyframes snowfall { from { transform: translate(0, 0); } to { transform: translate(100vw, 100vh); } } ``` 解释: 1. 首先,在`<head>`标签中,定义了一个黑色背景和隐藏滚动条的样式。 2. 在`<body>`标签中,使用JavaScript动态创建了50个雪花`<div>`元素,并添加到了页面中。 3. 在CSS中,定义了雪花的样式,包括了字体大小、颜色、字体和禁止鼠标事件。 4. 使用`@keyframes`关键字定义了一个名为`snowfall`的动画,该动画将雪花从初始位置向右下方飘动,直到超出屏幕范围。在`.snowflake`类中使用`snowfall`动画,并设置了动画的一些参数。 5. 最后,将以上代码整合到一起,即可实现一个满屏往右飘雪的特效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值