当前位置:首页 > CSS

css打勾动画制作

2026-03-11 23:04:41CSS

CSS打勾动画制作方法

通过CSS可以创建平滑的打勾动画效果,通常结合伪元素和关键帧动画实现。以下是两种常见实现方式:

基础实现(使用伪元素)

<div class="checkmark"></div>
.checkmark {
    width: 50px;
    height: 50px;
    position: relative;
}

.checkmark::after {
    content: "";
    position: absolute;
    width: 25px;
    height: 50px;
    border-right: 5px solid #4CAF50;
    border-bottom: 5px solid #4CAF50;
    transform: rotate(45deg) scale(0);
    left: 15px;
    animation: checkmark 0.4s ease-out 0s forwards;
}

@keyframes checkmark {
    0% { transform: rotate(45deg) scale(0); }
    80% { transform: rotate(45deg) scale(1.2); }
    100% { transform: rotate(45deg) scale(1); }
}

SVG路径动画实现

<svg class="checkmark" viewBox="0 0 52 52">
    <path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
</svg>
.checkmark {
    width: 50px;
    height: 50px;
    stroke-width: 3;
    stroke: #fff;
    stroke-miterlimit: 10;
}

.checkmark__check {
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

@keyframes stroke {
    100% { stroke-dashoffset: 0; }
}

进阶优化技巧

弹性动画效果 在关键帧动画中使用cubic-bezier曲线增强弹性效果:

@keyframes checkmark {
    0% { transform: rotate(45deg) scale(0); }
    50% { transform: rotate(45deg) scale(1.2); }
    70% { transform: rotate(45deg) scale(0.9); }
    100% { transform: rotate(45deg) scale(1); }
}

多阶段动画 分阶段实现先画圈再打勾的效果:

css打勾动画制作

.checkmark-circle {
    animation: circle 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.checkmark-check {
    animation: check 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.6s forwards;
}

浏览器兼容性提示

  • 使用-webkit前缀确保旧版浏览器兼容
  • SVG动画在IE11需要polyfill支持
  • 考虑使用will-change属性优化性能:
    .checkmark {
      will-change: transform, opacity;
    }

这些方法可根据实际需求调整颜色、尺寸和动画时长,适用于表单提交、任务完成等场景的视觉反馈。

标签: 动画制作css
分享给朋友:

相关文章

css按钮制作

css按钮制作

基础按钮样式 使用CSS创建基础按钮需要定义padding、background-color、border和border-radius等属性。以下是一个简单的按钮样式示例: .button {…

css二级菜单制作

css二级菜单制作

使用纯CSS实现二级菜单 通过嵌套HTML结构和CSS选择器实现二级菜单的显示与隐藏效果。以下是一个基础实现方案: HTML结构: <ul class="menu"> <li…

css loading制作

css loading制作

CSS Loading动画制作方法 通过CSS可以创建多种加载动画效果,以下是几种常见实现方式: 旋转动画 使用@keyframes创建旋转效果,适合圆形加载指示器: .loader { wi…

css导航制作

css导航制作

水平导航栏制作 使用无序列表 <ul> 和 <li> 标签构建基础结构,通过 CSS 移除默认样式并设置横向排列: <ul class="horizontal-nav"…

css 导航栏制作

css 导航栏制作

CSS 导航栏制作方法 水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏。设置背景色、内边距和悬停效果增强交互性。 .navbar { back…

用css制作表格

用css制作表格

使用CSS制作表格 基础表格结构 HTML中表格由<table>、<tr>(行)、<th>(表头)和<td>(单元格)组成。基础结构如下: <t…