首页 > 其他分享 >js + css 按钮鼠标移动光晕 跟随

js + css 按钮鼠标移动光晕 跟随

时间:2023-02-01 01:11:39浏览次数:42  
标签:style console 鼠标 -- js 按钮 btn css

<!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">
    <title>按钮鼠标移动光晕</title>
</head>
<style>
    .btn-body {
        width: 100%;
        min-height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .btn {
        background-color: #7983ff;
        border: none;
        padding: 0.5rem 1rem;
        font-size: 1.2rem;
        color: white;
        cursor: pointer;
        outline: none;
        position: relative;
        overflow: hidden;
    }

    .btn::before {
        content: "";
        position: absolute;
        width: 0px;
        height: 0px;
        top: var(--y);
        left: var(--x);
        transform: translate(-50%, -50%);
        background: radial-gradient(circle closest-side, pink, transparent);
        transition: width .2s ease, height .2s ease;
    }

    .btn span {
        position: relative;
    }

    .btn:hover::before {
        width: 80px;
        height: 80px;
    }
</style>

<body>
    <div class="btn-body">
        <button class="btn">
            <span>Hover me</span>
        </button>
    </div>
    <script>
        let btn = document.querySelector(".btn");
        btn.addEventListener("mousemove", e => {
            let rect = btn.getBoundingClientRect()
            console.log("--------")          
            console.log(btn.getBoundingClientRect())
            console.log(e.target.getBoundingClientRect())
            console.log("--------")
            let x = e.clientX - rect.left;//鼠标距离浏览器左边的宽度 - 按钮距离浏览器左边的宽度
            let y = e.clientY - rect.top; // 鼠标距离浏览器上边的宽度 - 按钮距离浏览器上边的宽度
            btn.style.setProperty("--y", y + "px")// 设置style 属性 如: style="--y:ypx"
            btn.style.setProperty("--x", x + "px")      
        })
    </script>

</body>

</html>

  

 

标签:style,console,鼠标,--,js,按钮,btn,css
From: https://www.cnblogs.com/finghi/p/17081278.html

相关文章

  • Go使用post方法将json数据传给一个url(后端接口)
       最近做的一个项目是采用前后端分离模式写前端,后端是fabric区块链,提供接口,需要使用post方法进行访问。如上一章注册用户,就是需要把用户名、账户信息转换成json形式......
  • CSS & JS Effect – 画三角形 Triangle
    前言画三角形有什么用?可以做这样的Design  参考5WaysToCreateATriangleWithCSS BorderTriangle这应该是最远古的招数HTML<divclass="box"></di......
  • spring boot——json解析示例——fastjson——使用fastJson将json与对象、集合、数组
                 ......
  • autojs实例02-为朋友圈指定好友点赞
    声明:文章仅用于学习交流,切勿用于非法用途。一、autojs版本使用autojs版本4.1,其余版本对微信、qq、抖音有限制。下载地址:关注【产品经理不是经理】gzh,回复【autojs】即......
  • Python cjson序列化与反序列化
    cJSONcJSON是一个使用C语言编写的JSON数据解析器,具有超轻便,可移植,单文件的特点,使用MIT开源协议。cJSON项目托管在Github上,仓库地址如下:https://github.com/DaveGamble/c......
  • spring boot——json解析示例——fastjson
    多层嵌套JSON类型数据解析简单来说:“key”:“value”-->此时value为String “key":0-->此时value为int “key”:{“k1”:“v1”}-->此时value为JSONObject......
  • JS基础知识
    1.运算符   2.算数运算符  2.1算术运算符概述         2.2浮点数的精度问题        2.3判断是否能被整除    ......
  • Java(FastJson) 解析 JSON文件
    依赖<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.73</version></dependency>JSON文件内容publicclassMy......
  • 如何手动补充陈年老库(或纯 JS 代码)的 TypeScript 类型?
    目录前置知识-JavaScript的各种模块化情况前置知识2-让你写的d.ts在工程中生效1.全局模块的定义2.ES模块的定义2.1.默认导出2.2.导出类2.3.注意事项3.Common......
  • CSS 媒体查询
    CSS媒体查询是CSS3中的一个功能,允许您为不同的媒体类型(例如屏幕,打印机,语音合成器等)和媒体特征(例如屏幕大小,分辨率,方向等)设置不同的样式。例如,如果您想要仅在屏幕宽度不......