渐变在 Microsoft Edge 中无法正确显示

Gradient not displaying correctly in Microsoft Edge

有一个ADOBE illustrator生成的渐变,CSS代码如下:

.firs{
    background: #4B79A1;
    background : -moz-linear-gradient(.....) 100%);
    background : -webkit-linear-gradient(.....) 100%);
    background : -webkit-gradient(....),color-stop(.....) ));
    background : -o-linear-gradient(.....) 0%, rgba(......) 0%, rgba(......) 25.17%, rgba(.........) 50.5%, rgba(.......) 75.17%, rgba(.......) 100%);
    background : -ms-linear-gradient(........) 0%, rgba(........) 0%, rgba(.........., 1) 25.17%, rgba(............., 1) 50.5%, rgba(..........., 1) 75.17%, rgba(............., 1) 100%);
}

渐变 CSS 在 Chrome 和 Firefox 中运行流畅,但在 Edge 中,它变为 like this。

有什么办法可以解决这个问题吗?

您尝试过 gradient generator 中的代码吗? 我认为下面的代码应该可以工作

linear-gradient(to right, rgba(...) 0%, rgba(...) 50%, rgba(...) 51%, rgba(...) 100%)

您必须检查您的 rgba() 函数。按照惯例 rgb 是混合物或颜色 红-绿-蓝颜色面板产生不同类型的颜色。但是 a(alpha) 是 用于优化颜色可视化。 1 设置为 true 即 100% 或可见,0 设置为 false 是不可见的。

正如我在您的代码中看到的那样,-ms-linear-gradient(......., 1).您需要了解 linear-gradient() 函数使用自上而下、左-右、右-左或自下而上 方法。在您的情况下,您使用的是自上而下的方法。但问题是你是 对边缘使用 100% 不透明度,您无法正确获得渐变。

试着用这样的东西优化你的线性函数: -ms-linear-gradient(......., 0.5)-ms-linear-gradient(......., 0.45) 即 直译为 50% 或 45% alpha linear。