CSS+JS实现爱心点赞按钮(代码示例)

本篇文章给大家介绍一下css+js实现一个“爱之满满”点赞按钮的方法,希望对大家有所帮助!

CSS+JS实现爱心点赞按钮(代码示例)

前段时间在看一档说唱节目,被里面的一个说唱歌手JBcob爱之满满这句词给洗脑了。

于是这次给大家带来一个爱之满满的点赞按钮,让大家在点赞的同时还能感受到被爱包裹的感觉。

1.png

立即学习“前端免费学习笔记(深入)”;

ToDoList

爱心按钮引导点赞爱之满满

Just Do It

❤️ 爱心按钮

制作一个爱心的方式有很多,可以用图标库的爱心,可以写一个svg,可以用图片,我这里就用伪元素的方式做一个爱心。(学习视频分享:css视频教程)

/* fullLove.css */.heart{    background-color: #8a93a0;    height: 13px;    width: 13px;    transform: rotate(-45deg) scale(1);    display: inline-block;}.heart::before {    content: '';    position: absolute;    top: -50%;    left: 0;    background-color: inherit;    border-radius: 50%;    height: 13px;    width: 13px;}.heart::after {    content: '';    position: absolute;    top: 0;    right: -50%;    background-color: inherit;    border-radius: 50%;    height: 13px;    width: 13px;}

再给外层加一些阴影就可以出来拟态化效果

2.png

引导点赞

我们需要让按钮做出一些视觉效果来引导观众姥爷们点赞,那持续震动无疑是一种好的选择。

// love.jsconst likeBtn = document.getElementById('likeBtn');const heart=document.getElementById('heart')likeBtn.addEventListener('mousemove',() => {  heart.classList.add('heratPop')})likeBtn.addEventListener('mouseout',() => {  heart.classList.remove('heratPop')})
/* fullLove.css */.heratPop{    animation: pulse 1s linear infinite;}@keyframes pulse {    0% {            transform: rotate(-45deg) scale(1);    }    10% {            transform: rotate(-45deg) scale(1.1);    }    20% {            transform: rotate(-45deg) scale(0.9);    }    30% {            transform: rotate(-45deg) scale(1.2);    }    40% {            transform: rotate(-45deg) scale(0.9);    }    50% {            transform: rotate(-45deg) scale(1.1);    }    60% {            transform: rotate(-45deg) scale(0.9);    }    70% {            transform: rotate(-45deg) scale(1);    }}

3.gif

爱之满满

接下来就是最主要的爱之满满了,怎么样才能达到这种效果呢,那必然是越多的爱越好啊。那我们想办法让爱心漂浮在按钮周围,在规定时间内爱心进行位移并消失即可。创建一个元素可以使用document.createElement,移除元素可以使用DOMremove()剩下的就简单了,只需要在这个过程中不同的爱心设置不同的大小和位移即可。核心代码(完整代码请看文末):

// love.jsfunction addHearts(content) {  for(let i=0; i {      const fullHeart = document.createElement('div');      fullHeart.classList.add('hearts');      fullHeart.innerHTML = '';      fullHeart.style.left = Math.random() * 100 + '%';      fullHeart.style.top = Math.random() * 100 + '%';      fullHeart.style.transform = `translate(-50%, -50%) scale(${Math.random()+0.3}) `      fullHeart.style.animationDuration = Math.random() * 2 + 3 + 's';      fullHeart.firstChild.style.backgroundColor='#ed3056'      content.appendChild(fullHeart);      setTimeout(() => {        fullHeart.remove();      }, 3000);    }, i * 100)  }}
/* fullLove.css */.hearts {    position: absolute;    color: #E7273F;    font-size: 15px;    top: 50%;    left: 50%;    transform: translate(-50%, -50%);    animation: fly 3s linear forwards;}@keyframes fly {    to {        transform: translate(-50%, -50px) scale(0);    }}

我们来看看最终的效果吧~在线演示地址

4.gif

写在最后

首先感谢大家看到这里,这次分享的是爱之满满点赞效果,希望可以帮助到有需要的同学。

更多编程相关知识,请访问:编程学习!!

以上就是CSS+JS实现爱心点赞按钮(代码示例)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1621878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 07:39:54
下一篇 2025年12月24日 07:40:08

相关推荐

  • 浅析Scss基础语法和导入SASS文件的方法

    本篇文章主要介绍最基础的使用和语法,可以看到,scss引入的变量和嵌套,极大地方便了开发工作,结合其自带的插值表达式,使得css样式编写非常灵活! Sass语法介绍 sass有两种语法格式Sass(早期的缩进格式:Indented Sass)和SCSS(Sassy CSS) 目前最常用的是SCSS,…

    2025年12月24日
    000
  • CSS如何给文字二次加粗并加上边框(技巧分享)

    css如何给文字二次加粗再加边框?下面本篇文章给大家介绍一下使用css给文字二次加粗并加上边框的方法,希望对大家有所帮助! p { font-size: 64px; letter-spacing: 6px; font-weight: bold; -webkit-text-stroke: 2px #0…

    2025年12月24日
    000
  • css的三种定位方式是什么

    css的三种定位方式是:1、相对定位,元素的位置相对于它的原始位置计算而来,语法“position:relative;”;2、固定定位,语法“position:fixed;”;3、绝对定位,语法“position:absolute;”。 本教程操作环境:windows7系统、CSS3&&am…

    2025年12月24日
    000
  • css里solid是什么意思

    solid的意思为“实心的”,是css border-style属性的一个属性值,表示“实线”;将border-style属性的值设置为“solid”可以定义实线边框。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。 solid是css中bord…

    2025年12月24日 好文分享
    000
  • css怎么设置body的颜色

    css设置body颜色的方法:1、使用“body{color: 颜色值;}”语句设置body的字体颜色;2、使用“body{background-color: 颜色值;}”语句设置body的背景颜色。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑…

    2025年12月24日
    000
  • css怎么设置hr的宽度

    在css中,可以利用width属性来设置hr的宽度,该属性的作用就是设置元素的宽度,只需要给hr元素设置“hr{width: 宽度值+单位;}”样式即可。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。 HTML中 标签设置水平线的宽度默认是占满…

    2025年12月24日
    000
  • css插入形式有哪几种

    CSS插入形式:1、把css代码写到元素标签的style属性中;2、将css代码写在“”和“”标签对间;3、将css代码写在css文件中,用link标签导入;4、用“@import”规则导入css代码文件。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G…

    2025年12月24日 好文分享
    000
  • css怎么修改字体颜色

    在css中,可以使用color属性来修改字体颜色,该属性的作用就是设置文本的颜色,只需要给包含字体文本的元素添加“color:颜色值;”即可。颜色值可以使用颜色名、十六进制数值、RGB或RGBA值、HSL或HSLA值来定义。 本教程操作环境:windows7系统、CSS3&&HTML…

    2025年12月24日
    000
  • css怎么设置超出显示省略号

    css设置超出显示省略号的方法:1、使用“overflow:hidden;”语句把超出的部分隐藏起来;2、使用“text-overflow:ellipsis;”语句在文本溢出包含元素时,显示省略符号来代表被隐藏的部分。 本教程操作环境:windows7系统、CSS3&&HTML5版、…

    2025年12月24日
    000
  • css怎么实现三角形

    实现方法:1、利用高宽为零的容器和透明的border;2、利用线性渐变linear-gradient;3、使用“transform:rotate”配合“overflow:hidden”;4、利用“▼”、“▲”等字符绘制。 本教程操作环境:windows7系统、CSS3&&HTML5版…

    2025年12月24日 好文分享
    000
  • css如何设置边框圆角

    在css中,可以利用border-radius属性来设置边框圆角,该属性的作用就是给边框添加圆角效果,只需要给元素添加“border-radius:圆角半径值;”样式,即可同时设置四个边框的圆角效果。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑…

    2025年12月24日 好文分享
    000
  • css要如何清除浮动

    css清除浮动的方法:1、浮动代码后添加一个设置了“clear:both”样式的空div标签。2、给父级元素添加一个设置“clear:both;”样式的after伪元素。3、给父元素设置“overflow: auto”样式。 本教程操作环境:windows7系统、CSS3&&HTML…

    2025年12月24日
    000
  • css调用方法是什么

    css调用方法:1、在文档head部分通过style定义的css内部样式,需要在网页的标签中使用css选择器名称调用;2、写在外部文件的css样式,在HTML网页中通过link标签调用。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。 在HTML…

    2025年12月24日
    000
  • 怎么看网页css

    查看网页css的方法:1、在浏览器中打开指定网页;2、在网页空白处,点击鼠标右键,选择“审查元素”选项或按“F12”键,打开开发者控制面板;3、选择“Elements”选项卡,点击网页元素即可在控制面板右侧查看相应的css代码。 本教程操作环境:windows7系统、CSS3&&HT…

    2025年12月24日 好文分享
    000
  • css怎么去除表格边框

    去除方法:1、给table、th、td元素添加“border:0;”样式;2、给table、th、td元素添加“border-style:none;”样式;3、给table、th、td元素添加“border:transparent;”样式。 本教程操作环境:windows7系统、CSS3&&…

    2025年12月24日 好文分享
    000
  • css的盒模型有几种

    css的盒模型有2种,分别为:1、W3c标准的盒子模型(标准盒模型),width和height指的是内容区域的宽度和高度;2、IE标准的盒子模型(怪异盒模型),width和height指的是内容区域、边框、内边距总的宽度和高度。 本教程操作环境:windows7系统、CSS3&&HT…

    2025年12月24日 好文分享
    000
  • css中字间距怎么设置

    css设置字间距的方法:1、使用letter-spacing属性,语法“letter-spacing:间距值;”;2、使用word-spacing属性,语法“word-spacing:间距值;”。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。 …

    2025年12月24日
    000
  • css怎么设置多行超出显示省略号

    设置方法:1、用“overflow:hidden;”把超出的部分隐藏起来;2、用“-webkit-line-clamp:行数;”限制显示文本的行数;3、用“text-overflow:ellipsis;”显示省略号来代表被隐藏的超出部分。 本教程操作环境:windows7系统、CSS3&&a…

    2025年12月24日
    000
  • css怎么设置边框颜色

    方法:1、border-color属性同时设置四个边框的颜色;2、border-top-color、border-bottom-color、border-left-color、border-right-color属性分别设置上下左右边框。 本教程操作环境:windows7系统、CSS3&&a…

    2025年12月24日
    000
  • css如何改变背景图片大小

    在css中,可以使用background-size属性来改变背景图片大小,该属性的作用就是指定背景图片大小,可通过将属性值设置为长度值或百分比来改变图片大小,或者通过将属性值设置为cover和contain关键字来对图片进行伸缩处理。 本教程操作环境:windows7系统、CSS3&&amp…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信