当前位置:首页 > CSS

css制作心跳效果

2026-01-28 13:31:45CSS

使用CSS动画制作心跳效果

通过CSS的@keyframestransform属性可以创建简单的心跳动画效果。核心原理是周期性缩放元素大小,模拟心跳的膨胀收缩。

基础实现代码:

.heartbeat {
  animation: heartbeat 1.5s ease-in-out infinite;
}

@keyframes heartbeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.3);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.3);
  }
  70% {
    transform: scale(1);
  }
}

增强视觉效果

添加颜色变化和阴影效果使心跳更逼真:

.heartbeat {
  width: 100px;
  height: 100px;
  background-color: #ff0000;
  box-shadow: 0 0 40px #ff0000;
  animation: heartbeat 1.5s ease-in-out infinite;
}

@keyframes heartbeat {
  0% {
    transform: scale(1);
    box-shadow: 0 0 10px #ff0000;
  }
  50% {
    transform: scale(1.1);
    background-color: #ff3333;
    box-shadow: 0 0 30px #ff0000;
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 10px #ff0000;
  }
}

SVG实现心跳效果

使用SVG路径动画可创建更精确的心脏图形动画:

<svg width="100" height="100" viewBox="0 0 24 24">
  <path 
    d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"
    fill="red"
    class="heartbeat"
  />
</svg>
.heartbeat {
  animation: heartbeat 1s infinite;
  transform-origin: center;
}

@keyframes heartbeat {
  0% { transform: scale(1); }
  25% { transform: scale(1.1); }
  50% { transform: scale(1); }
  75% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

性能优化建议

使用will-change属性提升动画性能:

css制作心跳效果

.heartbeat {
  will-change: transform;
  /* 其他动画属性 */
}

考虑使用requestAnimationFrame实现更流畅的动画,但这需要JavaScript配合。纯CSS方案在大多数现代浏览器中已能提供良好的性能表现。

标签: 效果css
分享给朋友:

相关文章

css制作相册

css制作相册

使用CSS Grid布局制作相册 CSS Grid布局非常适合创建响应式相册,能够灵活调整行列和间距。 .photo-gallery { display: grid; grid-templa…

css制作搜索框

css制作搜索框

制作搜索框的基本结构 使用HTML创建一个简单的搜索框结构,包含输入框和搜索按钮: <div class="search-box"> <input type="text" pl…

css制作卷边效果

css制作卷边效果

使用伪元素和渐变实现卷边效果 通过CSS伪元素和线性渐变可以模拟纸张卷边的视觉效果。这种方法不需要额外元素,仅通过::before或::after伪元素实现。 .element { positi…

网页制作中css中运行

网页制作中css中运行

CSS 动画基础 CSS 动画通过 @keyframes 和 animation 属性实现动态效果。@keyframes 定义动画关键帧,animation 控制动画的持续时间、速度曲线等。 定…

js实现滚动条效果

js实现滚动条效果

实现滚动条效果的方法 使用原生JavaScript实现滚动条 通过监听滚动事件,可以动态调整滚动条的位置和样式。以下是一个基础实现示例: // 获取DOM元素 const container = d…

css制作标尺

css制作标尺

使用 CSS 制作标尺的方法 方法一:使用线性渐变和伪元素 通过 linear-gradient 和伪元素实现刻度线,适合简单的水平或垂直标尺。 .ruler { position: rela…