<!DOCTYPE html>

<head>
    <meta charset="utf-8">
    <title>Document</title>
    <style>
        body{
            margin: 0;
            padding: 0;
            background-color: #000;
        }
        a{
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
            width: 200px;
            height: 60px;
            text-align: center;
            line-height: 60px;
            color: #fff;
            font-size: 24px;
            text-decoration: none;
            font-family: sans-serif;
            box-sizing: border-box;
            background: 
            linear-gradient(90deg,#03a9f4,#f441a5,#ffeb3b,#03a9f4);
            border-radius: 30px;
            background-size: 400%;
            z-index: 1;
            
        }
        a:hover{
            animation: animate  8s linear infinite ;
        }
        @keyframes animate{
            from{
                background-position: 0%;
            }
            to{
                background-position: 400%;
            }
        }
        a::before{
            content: '';
            position: absolute;
            inset: -5px;
            z-index: -l;
            background: (90deg,#03a9f4,#f441a5,#ffeb3b,#03a9f4); 
            background-size: 400%;
            border-radius: 40px;
            opacity: 0;
        }
        a:hover::before{
            filter: blur(20px);
            opacity: 1;
            animation: animate  8s linear infinite; 
        }
    </style>

</head>

23.png
演示:34.mov

<body>
    <a href="#">BUTTON</a>
</body>