用html+css+js做一个动态爱心
时间: 2023-07-15 22:13:44 浏览: 153
html+css+js 实现爱心
好的,下面是一个简单的 HTML + CSS + JS 实现动态爱心的代码:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动态爱心</title>
<style>
body {
background: #f7f7f7;
}
.heart {
position: relative;
width: 50px;
height: 50px;
margin: 20px auto;
transform: rotate(45deg);
cursor: pointer;
}
.heart:before,
.heart:after {
content: "";
position: absolute;
background-color: red;
border-radius: 50%;
}
.heart:before {
width: 50px;
height: 50px;
top: -25px;
left: 0;
}
.heart:after {
width: 50px;
height: 50px;
top: 0;
left: -25px;
}
.heart:hover:before,
.heart:hover:after {
animation: beat 1s ease-in-out infinite;
}
@keyframes beat {
0% {
transform: scale(1);
}
50% {
transform: scale(1.2);
}
100% {
transform: scale(1);
}
}
</style>
</head>
<body>
<div class="heart"></div>
<script>
var heart = document.querySelector('.heart');
heart.addEventListener('click', function() {
heart.classList.toggle('active');
});
</script>
</body>
</html>
```
代码中使用了 CSS 的伪元素 `:before` 和 `:after` 来实现爱心的左右两侧,然后使用了 `animation` 属性和 `@keyframes` 规则来实现动态效果。另外,使用 JavaScript 添加了一个点击事件,点击后切换 `.active` 类来实现变色效果。
你可以将此代码复制到 HTML 文件中并在浏览器中打开,就可以看到动态爱心了。
阅读全文