纯HTML和CSS实现精美点赞效果

简介: 纯HTML和CSS实现点赞效果,动态效果由CSS实现,主要有两个动画实现 代码下面自取🖖

纯HTML和CSS实现点赞效果,动态效果由CSS实现,主要有两个动画实现

代码下面自取🖖

🎈效果如下

HTML代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="like.css">
    <title>精美点赞效果</title>
</head>
<body>
    <label for="checkbox">
        <input type="checkbox" id="checkbox" hidden>
        <svg t="1651108144758" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
            p-id="3464" >
            <path
                d="M512 896a42.666667 42.666667 0 0 1-30.293333-12.373333l-331.52-331.946667a224.426667 224.426667 0 0 1 0-315.733333 223.573333 223.573333 0 0 1 315.733333 0L512 282.026667l46.08-46.08a223.573333 223.573333 0 0 1 315.733333 0 224.426667 224.426667 0 0 1 0 315.733333l-331.52 331.946667A42.666667 42.666667 0 0 1 512 896z"
                p-id="3465" id="heart"></path>
        </svg>
        <span class="dh"></span>
    </label>
</body>
</html>

like.css

*{
    margin: 0;
    padding: 0;
}
body{
    height: 100vh;
    display:flex;
    justify-content: center;
    align-items: center;
    /* 自定义属性 可通过var函数对齐调用*/
    --c:red;
}
svg{
    width: 200px;
    position: relative;
    z-index: 0;
}
#heart{
    fill:#eee;
    /* stroke 属性可应用于任何种类的线条,文字和元素,就像一个
    圆的轮廓 */
    stroke:var(--c);
    /* 线条宽度 */
    stroke-width: 40px;
    /* 设置线条为虚线,虚线的长度 */
    stroke-dasharray: 2600;
    /* 线条的位移 */
    stroke-dashoffset: 2600;
    /* 端点为圆头 */
    stroke-linecap: round;
}
span{
    display:block;
    width: 24px;
    height:24px;
    background-color:transparent;
    border-radius: 50%;
    position: absolute;
    top:50%;
    left:50%;
    /* 设置各个方向的阴影 */
    transform: translate(-50%,-50%) scale(0);
    box-shadow: 0 -160px 0 var(--c),
    0 160px 0 var(--c),
    -160px 0 0 var(--c),
    160px 0 0 var(--c),
    -120px -120px 0 var(--c),
    120px -120px 0 var(--c),
    120px 120px 0 var(--c),
    -120px 120px 0 var(--c);
}
#checkbox:checked + svg #heart{
    animation: drawHeart 1s linear forwards;
}
#checkbox:checked ~ .dh{
    animation: blink 0.5 ease-in-out forwards;
    animation-delay: 0.85s;
}
label{
    cursor: pointer;
}
#checkbox:checked + svg{
    animation: beat 1s linear forwards;
}
@keyframes drawHeart{
    0%{
        stroke-dashoffset: 2600;
    }
    80%{
        fill:#eee;
        stroke-dashoffset: 0;
    }
    100%{
        fill: var(--c);
        stroke-dashoffset: 0;
    }
}
@keyframes blink {
    0%{
        transform: translate(-50%,-50%) scale(0.5);
        opacity: 0.8;
    }
    50%{
        transform: translate(-50%,-50%) scale(1);
        opacity: 1;
    }
    100%{
        transform: translate(-50%,-50%) scale(1.1);
        opacity: 0;
    }
}
/* 心跳动画 */
@keyframes beat{
    0%{
        transform: scale(1);
    }
    70%{
        transform: scale(1);
    }
    80%{
        transform: scale(1.2);
    }
    100%{
        transform: scale(1);
    }
}

项目中的心型图案可以在 IConfont中找

相关文章
|
20天前
|
前端开发 JavaScript 开发工具
【HTML/CSS】入门导学篇
【HTML/CSS】入门导学篇
23 0
|
1天前
|
前端开发 JavaScript
使用html+css+javaScript 完成计算器
使用html+css+javaScript 完成计算器
|
2天前
|
前端开发 容器
用html、css实现一颗简单小爱心【2022首文】
用html、css实现一颗简单小爱心【2022首文】
|
2天前
|
前端开发 数据安全/隐私保护
Day-1 HTML基本标签和CSS常用样式
Day-1 HTML基本标签和CSS常用样式
|
5天前
|
前端开发 JavaScript
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
前端 富文本编辑器原理——从javascript、html、css开始入门
17 0
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
|
5天前
|
前端开发 JavaScript 索引
前端 富文本编辑器原理——从javascript、html、css开始入门(一)
前端 富文本编辑器原理——从javascript、html、css开始入门
16 0
|
11天前
|
数据采集 前端开发 网络协议
如何使用代理IP通过HTML和CSS采集数据
如何使用代理IP通过HTML和CSS采集数据
|
11天前
|
存储 监控 前端开发
局域网管理软件的前端设计与实现:HTML/CSS在网络拓扑展示中的应用
本文探讨了局域网管理软件的前端设计,强调了HTML/CSS在网络拓扑展示中的作用。通过HTML/CSS创建设备节点和绘制连线,实现清晰的网络设备连接展示。此外,利用JavaScript定时收集监控数据,并通过HTTP请求自动提交到网站,便于管理员进行数据分析,提升了局域网管理效率。
50 3
|
15天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
21 1
|
15天前
|
移动开发 前端开发 搜索推荐
HTML图片标签(2) HTML5+CSS3+移动web 前端开发入门笔记(三)
HTML图片标签(2) HTML5+CSS3+移动web 前端开发入门笔记(三)
21 0