Ich habe versucht, ein SVG-Sprite mit CSS zu animieren. Ich habe ein Sprite und injiziert es von schluck erstellt:SVG Shadow-Root ist geschlossen
gulp.task('svgstore', function() {
var svgs = gulp
.src('app/svg/*.svg')
.pipe(svgmin(function (file) {
return {
plugins: [{
cleanupIDs: {
minify: true
}
}]
}
}))
.pipe(svgstore({ inlineSvg: true }));
function fileContents (filePath, file) {
return file.contents.toString();
}
return gulp
.src('app/*.html')
.pipe(inject(svgs, { transform: fileContents }))
.pipe(gulp.dest('app/'))
});
... und Bilder aus dem Sprite zu HTML eingefügt:
<svg class="icon-ufo" >
<use xlink:href="img/sprite.svg#ufo" aria-hidden="true"></use>
</svg>
Und es funktioniert gut, aber die folgende Abbildung zeigt den Schatten DOM ist geschlossen.
Wie kann ich ohne JavaScipt einige Stile dieser SVG animieren? Aber wenn JavaScipt der einzige Weg ist, wie man es besser macht?
Wie wäre es mit __path__ Attributen wie _fill_? –
@ yuяi 'fill' ist ein [Präsentationsattribut] (https://www.w3.org/TR/SVG11/styling.html#UsingPresentationAttributes), was bedeutet, dass es als Attribut geschrieben werden kann, aber wie ein Stil behandelt wird Regel für das Element wurde am Anfang der Benutzer-Stylesheets eingefügt. – ccprog