Css 梯度上的过渡

Css 梯度上的过渡,css,hover,gradient,gradient-descent,Css,Hover,Gradient,Gradient Descent,我对在渐变上添加过渡有问题。我知道这是不可能的过渡梯度,我找到了一个解决办法。 背景图像应及时显示。此按钮有背景色:黑色并应随悬停在渐变上更改。你知道我如何在悬停类上实现这一点吗 。寄存器{ 浮动:对; 填充:0 20px; 文本转换:大写; } .登记{ 边框:1px纯白; 边界半径:4px; } .注册a:悬停{ 背景图像:线性渐变(右下角,rgb(40,40,40),rgb(60,60,60)); } 您可以尝试从白色转换为黑色(如果根据建议的代码片段,这是您想要的) 查看我的小提琴了解

我对在渐变上添加过渡有问题。我知道这是不可能的过渡梯度,我找到了一个解决办法。 背景图像应及时显示。此按钮有背景色:黑色并应随悬停在渐变上更改。你知道我如何在悬停类上实现这一点吗

。寄存器{
浮动:对;
填充:0 20px;
文本转换:大写;
}
.登记{
边框:1px纯白;
边界半径:4px;
}
.注册a:悬停{
背景图像:线性渐变(右下角,rgb(40,40,40),rgb(60,60,60));
}

  • 您可以尝试从白色转换为黑色(如果根据建议的代码片段,这是您想要的)

    查看我的小提琴了解更多信息


    不能将过渡添加到渐变。作为一种解决方法,您可以将开始状态添加到:before伪类,将结束状态添加到:after,并根据悬停状态更改其不透明度。
    <a class="btn btn-1">Hover me</a>
    
    .btn {
      flex: 1 1 auto;
      margin: 10px;
      padding: 30px;
      text-align: center;
      text-transform: uppercase;
      transition: 0.5s;
      background: linear-gradient(90deg, var(--c1, #fff), var(--c2, #333) 51%, var(--c1, #000)) var(--x, 0)/ 200%;
      color: white;
     }
    
    
    .btn:hover { --x: 100%; }
    
    .btn-1 {
      --c1: #fff;
      --c2: #000;
    }