<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>满屏爱心</title>
<style>
body {
margin: 0;
overflow: hidden;
background: black;
}
.heart {
position: absolute;
width: 20px;
height: 20px;
background: red;
transform: rotate(-45deg);
animation: fall linear infinite;
}
.heart::before,
.heart::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
border-radius: 50%;
background: red;
}
.heart::after {
left: 10px;
top: 10px;
}
@keyframes fall {
0% {
top: -10%;
opacity: 1;
}
100% {
top: 110%;
opacity: 0;
}
}
</style>
</head>
<body>
<script>
function createHeart() {
const heart = document.createElement('div');
heart.className = 'heart';
heart.style.left = Math.random() * 100 + 'vw';
heart.style.animationDuration = Math.random() * 3 + 2 + 's';
heart.style.animationDelay = Math.random() * 3 + 's';
document.body.appendChild(heart);
setTimeout(() => {
heart.remove();
}, 5000);
}
setInterval(createHeart, 100);
</script>
</body>
</html>
HTML结构:
<div>元素用于生成爱心。CSS样式:
body:设置页面背景为黑色,并隐藏滚动条。.heart:定义了爱心的样式,通过旋转和伪元素(:before 和 :after)创建心形图案。@keyframes fall:定义了爱心从屏幕顶部掉落到底部的动画效果。JavaScript逻辑:
createHeart函数:动态创建爱心元素,并随机设置其初始位置、动画持续时间和延迟时间。setInterval每100毫秒调用一次createHeart函数,从而实现满屏爱心的效果。上一篇:html源码下载
下一篇:在线html预览
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站