当前位置:首页 > CSS

css制作心跳效果

2026-02-13 07:49:56CSS

使用CSS动画制作心跳效果

通过CSS的@keyframestransform属性可以轻松实现心跳动画效果。以下是两种常见实现方式:

基础缩放动画

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

@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 {
  animation: heartbeat 1.5s ease-in-out infinite;
}

@keyframes heartbeat {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.2);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0.8;
  }
}

使用伪元素增强视觉效果

通过::before::after伪元素可以创建更立体化的心脏形状:

.heart {
  width: 100px;
  height: 100px;
  position: relative;
  animation: heartbeat 1s infinite;
  background-color: red;
  transform: rotate(45deg);
}

.heart::before,
.heart::after {
  content: "";
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-color: red;
  position: absolute;
}

.heart::before {
  top: -50px;
  left: 0;
}

.heart::after {
  top: 0;
  left: -50px;
}

控制动画节奏的技巧

调整动画时间函数可以改变心跳的生理感:

animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);

多阶段动画示例

@keyframes heartbeat {
  0% { transform: scale(0.95); }
  5% { transform: scale(1.1); }
  10% { transform: scale(0.95); }
  15% { transform: scale(1.1); }
  50% { transform: scale(0.95); }
  100% { transform: scale(0.95); }
}

响应式设计考虑

添加媒体查询确保移动设备表现:

@media (max-width: 768px) {
  .heartbeat {
    animation-duration: 2s;
  }
}

性能优化建议

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

css制作心跳效果

.heartbeat {
  will-change: transform;
  backface-visibility: hidden;
}

这些方法可以单独使用或组合使用,根据实际需求调整动画持续时间、缩放比例和节奏曲线即可获得理想的心跳效果。

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

相关文章

css制作菜单

css制作菜单

水平菜单制作 使用display: inline-block或flexbox布局创建水平菜单。设置list-style: none移除默认列表样式,添加padding和margin调整间距。 <…

用css制作导航条

用css制作导航条

水平导航条制作 使用display: inline-block或flexbox实现水平导航 为<ul>和<li>设置样式消除默认列表样式 添加padding和margin控制间…

css制作旋转

css制作旋转

CSS旋转的实现方法 CSS提供了多种方式实现元素的旋转效果,主要通过transform属性配合旋转函数完成。以下是常见的旋转实现方式: 使用rotate()函数 transform: rotate…

css制作春联

css制作春联

使用CSS制作春联的方法 基础布局与样式 春联通常由一对垂直排列的红色对联和顶部的横批组成。使用CSS的flexbox布局可以轻松实现这种结构。创建一个父容器,内部包含三个子元素:横批、上联和下联。…

vue实现效果

vue实现效果

Vue 实现常见效果的方法 数据绑定与响应式更新 Vue 的核心特性是数据绑定,通过 v-model 实现表单元素与数据的双向绑定。例如输入框与数据的实时同步: <input v-model=…

css表格制作表格

css表格制作表格

CSS 表格制作方法 基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<td>(单元格)和<th>(表头)标签: &l…