超级酷炫的悬浮效果

Posted _冰雁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超级酷炫的悬浮效果相关的知识,希望对你有一定的参考价值。

今天在奇舞周刊上看到了一篇文章,看到其酷炫的效果,自己忍不住试了一下,小伙伴们都惊呆了。。。这个效果是将光标移动到按钮上的不同位置产生的彩色渐变。

代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>酷炫效果展示</title>
    <style>
        button {
            border: none;
            outline: none;
            color: white;
            font-size: 1.2em;
            cursor: pointer;
            border-radius: 100px;
            position: relative;
            appearance: none;
            background: #f72359;
            padding: 1em 2em;
            overflow: hidden;
        }

        button span {
            position: relative;
        }

        button::before {
            --size: 0;
            content: \'\';
            position: absolute;
            left: var(--x);
            top: var(--y);
            width: var(--size);
            height: var(--size);
            background: radial-gradient(circle closest-side, #4405f7, transparent);
            transform: translate(-50%, -50%);
            transition: width .2s ease, height .2s ease;
        }

        button:hover::before {
            --size: 400px;
        }
    </style>
</head>

<body>
    <button>
        <span>Hover me I\'m awesome</span>
    </button>
    <script>
        document.querySelector(\'button\').onmousemove = (e) => {
            const x = e.pageX - e.target.offsetLeft
            const y = e.pageY - e.target.offsetTop
            var tag = e.target.tagName == \'BUTTON\' ? e.target : e.target.parentNode;
            tag.style.setProperty(\'--x\', `${x}px`)
            tag.style.setProperty(\'--y\', `${y}px`)
        }
    </script>
</body>
</html>

至于各行的代码作用就需要自己探索了。。。

 

简单的代码就能实现这么酷炫的效果,伙伴们get起来吧!!!

 

以上是关于超级酷炫的悬浮效果的主要内容,如果未能解决你的问题,请参考以下文章

酷炫的鼠标滑过添加遮罩层效果

Android 酷炫的3d立体圆柱动画效果实现

10 个效果酷炫的 Linux 命令

轮子发现一个效果丰富酷炫的Android动画库

想实现前端酷炫的打字机效果吗

巧用 CSS 实现酷炫的充电动画