Линейные градиенты в SVG без дефс
Я могу использовать линейный градиент в SVG с defs-разделом, например:
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="myLinearGradient1"
x1="0%" y1="0%"
x2="0%" y2="100%"
spreadMethod="pad">
<stop offset="0%" stop-color="#00cc00" stop-opacity="1"/>
<stop offset="100%" stop-color="#006600" stop-opacity="1"/>
</linearGradient>
</defs>
<rect x="0" y="0" width="100" height="100"
style="fill:url(#myLinearGradient1)" />
</svg>
могу ли я использовать линейный градиент без defs-раздела? Я нахожу что-то вроде этого:
<rect style="fill:lineargradient(foo)">
1 ответов
<defs>
требуется только для структурирования, элементы в нем не отображаются, но поскольку градиент может быть виден только при применении к фигуре или другому элементу, вы можете определить его в любом месте документа.
но вы все равно должны придерживаться правильного синтаксиса:
<rect style="fill:url(#myLinearGradient1)" ... />