一段时间以来,我一直试图弄清楚这个 css 的问题是什么,但没有任何运气:
$body-gradient-0: #324359;
$body-gradient-1: #304051;
$body-gradient-2: #27394A;
$body-gradient-3: #1C2C3E;
$body-gradient-4: #172A40;
$body-gradient-degrees: 150deg;
.my-class {
background: $body-gradient-1;
background: -moz-linear-gradient($body-gradient-degrees,$body-gradient-0 0%,$body-gradient-1 10%,$body-gradient-2 20%,$body-gradient-3 55%,$body-gradient-4 100%);
background: -webkit-gradient($body-gradient-degrees,$body-gradient-0 0%,$body-gradient-1 10%,$body-gradient-2 20%,$body-gradient-3 55%,$body-gradient-4 100%);
background: -webkit-linear-gradient($body-gradient-degrees,$body-gradient-0 0%,$body-gradient-1 10%,$body-gradient-2 20%,$body-gradient-3 55%,$body-gradient-4 100%);
background: -ms-linear-gradient($body-gradient-degrees,$body-gradient-0 0%,$body-gradient-1 10%,$body-gradient-2 20%,$body-gradient-3 55%,$body-gradient-4 100%);
background: -o-linear-gradient($body-gradient-degrees,$body-gradient-0 0%,$body-gradient-1 10%,$body-gradient-2 20%,$body-gradient-3 55%,$body-gradient-4 100%);
background: linear-gradient($body-gradient-degrees,$body-gradient-0 0%,$body-gradient-1 10%,$body-gradient-2 20%,$body-gradient-3 55%,$body-gradient-4 100%);
}
这会在 Chrome、Vivaldi、Opera(以及显然使用 Blink 引擎或 Chrome 分支的任何其他浏览器)中产生良好的结果
但是,Microsoft Edge、Firefox 和 Safari(我已经使用 Epiphany 对其进行了测试,它使用了 WebKit,所以我猜 Safari 也会有同样的问题)产生以下结果:
如果你全屏打开截图,你会看到第一个是平滑地穿过所有颜色,而第二个是在颜色之间“步进”,就好像它们是“硬边”一样。
我一直在试图找出问题所在以及为什么它没有任何运气。有谁知道这个问题的原因是什么以及解决它的最佳方法是什么?
这是片段:
.my-class {
width: 1920px;
height: 1080px;
background: #304051;
background: -moz-linear-gradient(150deg, #324359 0%, #304051 10%, #27394A 20%, #1C2C3E 55%, #172A40 100%);
background: -webkit-gradient(150deg, #324359 0%, #304051 10%, #27394A 20%, #1C2C3E 55%, #172A40 100%);
background: -webkit-linear-gradient(150deg, #324359 0%, #304051 10%, #27394A 20%, #1C2C3E 55%, #172A40 100%);
background: -ms-linear-gradient(150deg, #324359 0%, #304051 10%, #27394A 20%, #1C2C3E 55%, #172A40 100%);
background: -o-linear-gradient(150deg, #324359 0%, #304051 10%, #27394A 20%, #1C2C3E 55%, #172A40 100%);
background: linear-gradient(150deg, #324359 0%, #304051 10%, #27394A 20%, #1C2C3E 55%, #172A40 100%);
}
<div class="my-class">
</div>