520 要到了,花式表白一下?
一、视频
全网搜索:我叫牛一
B 站:4 分钟 50 行代码实现一个跳动的红心
小红书:4 分钟 50 行代码实现一个跳动的红心
抖音:4 分钟 50 行代码实现一个跳动的红心
二、源码使用方法
- 创建一个记事本文件,将下面的源码复制到这个记事本文件里,保存
- 将这个记事本文件的后缀名改为
.html - 双击这个记事本文件,即可看到效果
如果你是计算机相关专业的学生,希望你能跟着敲一遍,并尽可能弄明白里面用到的知识点。
三、源码
1、普通版(视频配套)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Red Heart</title>
<style>
body {
display: flex;
justify-content: center;
}
.box {
height: 600px;
width: 600px;
animation: beat 1s infinite alternate;
}
.part {
height: 400px;
width: 600px;
background: red;
border-radius: 200px 0 0 200px;
box-shadow: 0 0 200px red;
}
.left {
transform: translate(0, 200px);
}
.right {
transform: rotate(90deg) translate(-300px, -100px);
}
@keyframes beat {
from {
transform: rotate(45deg) scale(0.8);
}
to {
transform: rotate(45deg) scale(1);
}
}
</style>
</head>
<body>
<div class="box">
<div class="part left"></div>
<div class="part right"></div>
</div>
</body>
</html>
2.动态计算日期版
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Red Heart</title>
<style>
body {
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
height: 100vh;
margin: 0;
padding: 0;
}
.box {
height: 600px;
width: 600px;
animation: beat 1s infinite alternate;
}
.part {
height: 400px;
width: 600px;
background: red;
border-radius: 200px 0 0 200px;
box-shadow: 0 0 200px red;
}
.left {
transform: translate(0, 200px);
}
.right {
transform: rotate(90deg) translate(-300px, -100px);
}
h1 {
color: pink;
font-size: 64px;
}
@keyframes beat {
from {
transform: rotate(45deg) scale(0.8);
}
to {
transform: rotate(45deg) scale(1);
}
}
</style>
</head>
<body>
<div class="box">
<div class="part left"></div>
<div class="part right"></div>
</div>
<h1>我们已经相恋<span id="days"></span>天了</h1>
<script>
window.onload = () => {
// 更改下面这一行中的“2017-05-20”为你们相爱的那一天
const firstDay = new Date("2017-05-20").getTime()
const now = new Date().getTime()
const days = (now - firstDay) / (1000 * 60 * 60 * 24)
document.querySelector("#days").innerHTML = Math.floor(days)
}
</script>
</body>
</html>