当前位置:首页 > 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
分享给朋友:

相关文章

vue实现吸附效果

vue实现吸附效果

Vue实现吸附效果的方法 吸附效果通常指页面滚动时,某个元素固定在特定位置(如顶部或底部)。以下是几种实现方式: 使用CSS的position: sticky 通过CSS的sticky定位实现吸附效…

纯css制作下拉菜单

纯css制作下拉菜单

纯CSS下拉菜单实现方法 通过CSS的:hover伪类和display属性可以实现纯CSS下拉菜单,无需JavaScript。以下是具体实现方式: HTML结构示例: <nav class=…

css制作扇形

css制作扇形

使用 CSS 制作扇形 方法一:利用 border-radius 和 transform 通过设置 border-radius 和 transform 属性,可以创建一个扇形。以下是一个示例代码:…

css制作卷边效果

css制作卷边效果

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

css 制作输入框

css 制作输入框

基础输入框样式 使用 input 或 textarea 元素创建输入框,通过 CSS 设置边框、圆角、内边距和背景色: .input-basic { border: 1px solid #ccc…

css下拉箭头的制作

css下拉箭头的制作

使用伪元素制作下拉箭头 通过CSS的::after或::before伪元素结合边框属性创建箭头。设置元素的position: relative,伪元素使用绝对定位调整位置。 .dropdown {…