I am looking to create an SVG wheel that rotates with a linear gradient while keeping the gradient in place at the top. Here is my initial attempt:
<svg width="950" class="wheel" height="950" version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="wheel" x1="0%" y1="0%" x2="0%" y2="50%" gradientUnits="userSpaceOnUse">
<stop offset="0%" stop-color="#fff"/>
<stop offset="100%" stop-color="#bec7cf"/>
</linearGradient>
</defs>
<circle cx="475" cy="475" r="430" stroke="url(#wheel)" fill="url(#lines)" stroke-width="10"></circle>
<circle cx="475" cy="475" r="395" stroke="url(#wheel)" fill="transparent" stroke-width="10"></circle>
<line x1="457" y1="80" x2="457" y2="870.00" stroke="url('#wheel')" stroke-width="10"></line>
<line x1="492" y1="80" x2="492" y2="870.00" stroke="url('#wheel')" stroke-width="10"></line>
// more lines...
</svg>
Unfortunately, I noticed that the gradient rotates along with the shapes.
https://i.sstatic.net/dyJw5.png
Is there a method to group these elements together and apply a single gradient across them?