css渐变跟随鼠标光标按钮动画
如何使用css实现渐变跟随鼠标光标的悬停效果。如下图:
实现思路:声明 --x 和- -y 两个 CSS 变量,用于跟踪鼠标在按钮上的位置。声明一个 --size 的 CSS 变量,用于修改背景渐变的尺寸大小。使用 background: radial-gradient(circle closest-side, pink, transparent) 创建按钮的径向渐变背景效果。使用document.querySelector()和EventTarget.addEventListener()给按钮绑定"mousemove"事件。使用element.getBoundingClientRect()和CSSStyleDeclaration.setProperty() 更新 --x 和--y 变量的值。
html:
css:/*按钮基本样式*/ .mouse-cursor-gradient-tracking { position: relative; background: #7983ff; padding: 0.5rem 1rem; font-size: 1.2rem; border: none; color: white; cursor: pointer; outline: none; overflow: hidden; } .mouse-cursor-gradient-tracking span { position: relative; } /*按钮渐变背景,这里使用伪类实现,并且使用transform动画*/ .mouse-cursor-gradient-tracking:before { --size: 0; /*渐变背景尺寸*/ content: ""; position: absolute; left: var(--x); top: var(--y); width: var(--size); height: var(--size); /*背景渐变*/ background: radial-gradient(circle closest-side, pink, transparent); /*动画效果*/ transform: translate(-50%, -50%); transition: width 0.2s ease, height 0.2s ease; } /*鼠标经过按钮时*/ .mouse-cursor-gradient-tracking:hover:before { --size: 200px; }
javascript:// 获取按钮元素 let btn = document.querySelector(".mouse-cursor-gradient-tracking"); // 绑定鼠标移动事件 btn.addEventListener("mousemove", e => { // 获取按钮的左,上,右和下分别相对浏览器视窗的位置 let rect = e.target.getBoundingClientRect(); // 计算鼠标坐标相对于按钮左、上的距离 let x = e.clientX - rect.left; let y = e.clientY - rect.top; // 更新背景渐变区域的坐标 btn.style.setProperty("--x", x + "px"); btn.style.setProperty("--y", y + "px"); });
养狗或有助婴幼儿远离湿疹?人们常说狗是人类最好的朋友。美国研究人员说,这些好朋友或许有助于婴幼儿远离湿疹困扰。据英国每日邮报1月1日报道,美国综合性非营利医疗保健组织亨利福特卫生系统研究人员在2003年9月
旅游精品线路石家庄发布10条精品旅游线路石家庄市文广旅局特推出石家庄冬季旅游10条精品线路。一红色传承革命圣地之旅具体线路西柏坡纪念馆西柏坡中共中央旧址北庄村(歌曲团结就是力量诞生地)李家庄(
印尼落地签介绍签证代码VOA签证有效期贴签当天开始计时签证停留期单次入境30天(可延期一次30天)落地签证并不需要在印尼境外办理任何手续,只需提前准备好35美金或者等额的其他货币(人民币或印尼盾
盘点2022年爆火的流行梗1月到12月,这些梗你知道几个?1你是我的神这个梗指的是一则古老的综艺选秀节目当中海清的抓马行为,向欧豪单膝下跪,跪在欧豪的面前大喊你是我的神!这是海清当时作为节目的V神为欧豪拉票的一个行为,回顾过往,网友们纷纷
NBA常规赛直播分析灰熊VS鹈鹕116比101击败录像回放NBA常规赛直播分析灰熊VS鹈鹕116比101击败录像回放周日早上,NBA常规赛继续角逐,LDSPORTS分析灰熊坐镇主场迎战鹈鹕。双方前三节进行得十分胶着,灰熊末节打出一波24比
开拓者4换1报价德罗赞,如果成功将组成后场双枪随着上赛季交易Cj拆散开拓者后场双枪之后,开拓者战绩至今为止一直不是特别理想,利拉德一个人显得有些独木难支,虽然也发掘了潜力新兴格兰特,但是开拓者依然需要一个非常强力的引援,去补充
国际乒联2023年首次世界排名,樊振东继续第一,马龙升至第二头条创作挑战赛2023年1月3日国际乒联新年首次公布第一期世界排名,樊振东孙颖莎继续保持世界第一,马龙上升到第二,王楚钦上升到第三,日本张本智和下降至第四名。女单方面,孙颖莎陈梦王
0分0板!连续6场被弃用!投不进防不住,现在终于知道约基奇的苦客场作战的奇才,以113比123输给了雄鹿。这场比赛,绰号巴顿将军的威尔巴顿,再次遭到了弃用。替补登场1分23秒,没有任何数据进账。这是巴顿连续第三场比赛得分,篮板均为0,同时也是
TA独家切尔西签下巴迪亚西勒,转会费37003800万欧元之间根据TheAthleticUK王牌记者DavidOrnstein的独家报道,切尔西已经与摩纳哥达成协议,签下后卫贝努瓦巴迪亚西勒。这名21岁的球员的转会费在3700万3800万欧元
不写一行代码,也能做技术规划吗?前段时间有个粉丝问了一个问题小钗你好,我刚从大公司以P8的职级离职,新入职了一家中型公司做技术负责人,当前团队士气低下,无论技术体系还是团队建设都十分落后,坑的一逼!请问在这种情况
诗歌向风而行飘飞的记忆随风来到烟花三月的扬州只是人群中多看了你一眼轻轻的回眸打了声招呼你好啊!是有意还是无意便和你撞了个满怀从此为你风尘仆仆为你梦萦魂牵为你不顾一切那是一见钟情的爱就如喜欢站在