Можно создать стиль SVG путем динамического создания элемента стиля в JavaScript и добавления его в элемент SVG. Hacky, но он работает.
<object id="dynamic-svg" type="image/svg+xml" data="your-svg.svg">
Your browser does not support SVG
</object>
<script>
var svgHolder = document.querySelector('object#dynamic-svg');
svgHolder.onload = function () {
var svgDocument = svgHolder.contentDocument;
var style = svgDocument.createElementNS("http://www.w3.org/2000/svg", "style");
// Now (ab)use the @import directive to load make the browser load our css
style.textContent = '@import url("/css/your-dynamic-css.css");';
var svgElem = svgDocument.querySelector('svg');
svgElem.insertBefore(style, svgElem.firstChild);
};
</script>
Вы можете генерировать JavaScript динамически на PHP, если хотите - тот факт, что это возможно в JavaScript, открывает множество возможностей.