Соответствуют стандартам оба. Существует несколько причин, по которым стоит использовать одну или другую.
- В спецификации сказано, что объявленные свойства стиля CSS всегда имеют приоритет перед свойствами, объявленными в атрибутах XML
- С другой стороны, если вы используете атрибуты, вам не нужно разбирать объявления CSS
- вы также можете объявить внешнюю таблицу стилей и стиль из SVG
Короче говоря, стилистические свойства - это все эти реквизиты, которые необходимы для определенного результата рендеринга, в основном связанные с цветом.
Эквивалентные примеры:
<svg xmlns="http://www.w3.org/2000/svg">
<rect fill="red"/>
<svg>
<svg xmlns="http://www.w3.org/2000/svg">
<rect style="fill: red"/>
<svg>
<svg xmlns="http://www.w3.org/2000/svg">
<defs>
<style type="text/css">
#fillme { fill: red; }
</style>
</defs>
<rect id="fillme"/>
<svg>
Просто обратите внимание, что эти CSS-объявления недопустимы в смысле CSS-спецификаций с 1 по 3.
Приветствия