Спецификация SVG 1.1 мало говорит о интерполяции цветов между остановками.Но все средства визуализации, которые я видел до сих пор, согласуются с этим утверждением спецификации SVG 2:
Для линейных и радиальных градиентов значение цвета между двумя остановками вдоль вектора градиента является линейной интерполяцией, согласноканал, цвета для каждой остановки, взвешенный по расстоянию от каждой остановки.
В данном контексте прямо не сказано, что непрозрачность рассматривается как канал, но опять же это то, что делают средства визуализации: Еслиесть две градиентные остановки с color1 и opacity = 1 и color2 и opacity = 0, тогда цвет в промежуточной точке представляет собой линейную интерполяцию между значениями цвета, а непрозрачность является частичной.
Для вашего примера цветаизменится следующим образом:
- остановка цвета на 0%: красный 255, зеленый 0, синий 0, непрозрачность 1
- интерполяция цвета на 25%: красный 192, зеленый 64, синий0, непрозрачность 0,75
- цветовая интерполяция при 50%: красный 128, зеленый 128, синий 0, непрозрачность 0,5
- цветовая интерполяция при 75%: красный 64, зеленый192, синий 0, непрозрачность 0,25
- остановка цвета на 100%: красный 0, зеленый 255, синий 0, непрозрачность 0
Когда цвет исчезает, он переходит от красного к зеленому:
Я вижу это почти во всех браузерах, к которым у меня есть доступ: Chrome 70 / Windows, Chromium 70 / Debian, Firefox 60esr / Debian,Firefox 62 / Debian, Edge, IE11.Единственное исключение - Firefox для Windows: в v62 / 63 показан градиент от непрозрачного красного до прозрачного красного:
С моей точки зрения, этоздесь Firefox с ошибкой.