Я создаю в Javascript различные L-образные пути .Они различаются по длине и положению.Я хотел бы иметь линейный градиент в качестве обводки для них, где первое смещение остановки находится в положении x = 10 пикселей, т.е. изменение цвета всегда начинается после x пикселей.
Используя градиент стандартным способомпросто предлагает относительное позиционирование (например, относительно ограничивающего прямоугольника объекта).Это приводит к различным смещениям остановки из-за разных ограничивающих рамок объекта.
Вот один пример того, как это выглядит:
path.p1 {
fill: none;
stroke-width: 20px;
}
<svg height="600" width="1000">
<path class="p1" d="M10 10 V 100 H 100 " stroke="url(#cl1)"/>
<path class="p1" d="M150 10 V 100 H 200 " stroke="url(#cl1)"/>
<path class="p1" d="M250 10 V 100 H 400 " stroke="url(#cl1)"/>
<defs>
<linearGradient id="cl1" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0" style="stop-color:grey;stop-opacity:1" />
<stop offset="0.02" style="stop-color:grey;stop-opacity:1" />
<stop offset="0.15" style="stop-color:orange;stop-opacity:1" />
<stop offset="0.2" style="stop-color:orange;stop-opacity:1" />
</linearGradient>
</defs>
</svg>
Есть ли способ использовать один градиент, но умный способ ссылаться на него через вложенность SVG или javascript?