当前位置:首页 > CSS

css制作心跳效果

2026-03-11 20:35:39CSS

使用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); }
}

结合阴影增强效果

css制作心跳效果

.pulse {
  width: 100px;
  height: 100px;
  background: #ff4757;
  border-radius: 50%;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(255, 71, 87, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 10px rgba(255, 71, 87, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(255, 71, 87, 0);
  }
}

实现心脏形状的跳动效果

若要创建真实心脏形状的跳动,可结合SVG和CSS动画:

SVG路径动画

css制作心跳效果

<svg class="heart" viewBox="0 0 32 29.6">
  <path d="M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2
  c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z"/>
</svg>
.heart {
  width: 100px;
  animation: heartbeat 1s infinite;
}

@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属性提前告知浏览器元素会发生变化:

.heart {
  will-change: transform;
}

考虑使用prefers-reduced-motion媒体查询为运动敏感用户提供替代方案:

@media (prefers-reduced-motion: reduce) {
  .heartbeat {
    animation: none;
  }
}

这些方法均可通过调整关键帧百分比和缩放值来改变心跳的节奏和强度,实现从微妙到强烈的各种心跳效果。

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

相关文章

css制作响应网页

css制作响应网页

响应式网页设计基础 使用CSS制作响应式网页的核心是让页面能够根据不同设备的屏幕尺寸自动调整布局和样式。主要通过媒体查询(Media Queries)、弹性布局(Flexbox)和网格布局(Grid)…

页脚制作 css

页脚制作 css

页脚基础样式 使用CSS为页脚设置基础样式,通常包括背景色、文字颜色、内边距等属性。以下是一个常见示例: footer { background-color: #333; color: wh…

css制作下拉菜单

css制作下拉菜单

使用纯CSS制作下拉菜单 通过HTML和CSS可以创建无需JavaScript的下拉菜单,主要利用:hover伪类和display属性控制显示隐藏。 HTML结构示例: <div class…

h5页面滑动效果实现

h5页面滑动效果实现

实现H5页面滑动效果的方法 H5页面滑动效果可以通过多种方式实现,包括原生JavaScript、CSS动画或第三方库。以下是几种常见的方法: 使用CSS Scroll Snap CSS Scroll…

vue实现翻书效果

vue实现翻书效果

Vue实现翻书效果的方法 翻书效果可以通过CSS动画和Vue的动态绑定实现,以下是几种常见的实现方式: 使用CSS transform和transition 通过CSS的transform属…

css制作详情页

css制作详情页

CSS 制作详情页的关键方法 布局与结构设计 使用 flexbox 或 grid 实现响应式布局。flexbox 适合单行或单列排列的内容,grid 适合复杂网格布局。 .container {…