如何用 HTML 和 CSS 实现跳动红心

HTML 结构

首先,我们需要创建一个空的 HTML 文件,并在 <head> 标签中添加 <title> 标签以及一个链接到 CSS 文件的 <link> 标签。我们将使用一个 div 元素来表示红心,给它一个类名 .heart,并将其放在 <body> 标签中。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Jumping Heart</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <div class="heart"></div>
  </body>
</html>

CSS 样式

接下来,我们需要添加 CSS 样式来定义红心。我们将使用 ::before::after 伪元素来创建两个半圆,然后通过旋转和定位将它们组合成一个心形。我们还将使用 animation 属性来制作一个名为 jump 的动画,使红心上下跳动。

/* 定义心的样式 */
.heart {
  position: relative;
  width: 100px;
  height: 90px;
}

.heart:before,
.heart:after {
  position: absolute;
  content: "";
  left: 50px;
  top: 0;
  width: 50px;
  height: 80px;
  background: 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 jump {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}

/* 应用动画 */
.heart {
  animation-name: jump;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

在上面的代码中,我们定义了一个名为 .heart 的类,将其定位为相对位置,并为其设置了一个宽度和高度。接下来,我们使用 ::before::after 伪元素创建了两个半圆,并通过旋转和定位将其组合成了一个心形。

我们还定义了一个名为 jump 的动画,并将其应用到了 .heart

类上。这个动画由三个关键帧组成,分别在 0%、50% 和 100% 处定义了红心的位置。我们使用 translateY() 函数来将红心上下移动,其中负数表示向上移动,正数表示向下移动。

最后,我们通过将动画名称、持续时间、缓动函数和迭代次数设置为相应的值,将动画应用到了 .heart 类上。

将上面的 HTML 和 CSS 代码组合在一起,即可得到一个跳动的红心。您可以将代码复制到您的文本编辑器中,并保存为一个名为 index.htmlstyle.css 的文件。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值