用js和css实现一个全屏移动特别大的爱心
时间: 2024-06-09 21:07:20 浏览: 121
CSS3区域全屏放大动画特效.zip
可以使用CSS3的动画和伪元素来实现一个全屏移动特别大的爱心。
以下是代码和说明:
```html
<!DOCTYPE html>
<html>
<head>
<title>Full Screen Heart</title>
<style>
body {
margin: 0;
overflow: hidden;
}
.heart {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100px;
height: 100px;
animation: move 10s linear infinite;
}
.heart:before,
.heart:after {
content: "";
position: absolute;
top: 0;
left: 50px;
width: 50px;
height: 80px;
background-color: red;
border-radius: 50px 50px 0 0;
transform: rotate(-45deg);
transform-origin: 0 100%;
}
.heart:after {
left: 0;
transform: rotate(45deg);
transform-origin: 100% 100%;
}
@keyframes move {
from {
transform: translate(-50%, -50%) scale(1);
}
50% {
transform: translate(-50%, -50%) scale(1.5);
}
to {
transform: translate(-50%, -50%) scale(1);
}
}
</style>
</head>
<body>
<div class="heart"></div>
</body>
</html>
```
解释:
- `body` 元素设置为全屏并隐藏滚动条
- `.heart` 元素设置为绝对定位,并使用 `transform` 属性将其水平垂直居中
- `.heart:before` 和 `.heart:after` 伪元素分别表示爱心的两个半边,使用 `border-radius` 属性实现圆角,使用 `transform` 属性实现旋转和定位
- `@keyframes` 定义动画,将爱心在 10 秒内从原大小放大到 1.5 倍大小再缩小到原大小,使用 `animation` 属性将动画应用到 `.heart` 元素上
效果如下图所示:
![Full Screen Heart](https://i.imgur.com/e3X4Hux.gif)
阅读全文