【发布时间】:2018-05-24 09:27:14
【问题描述】:
我尝试使用 CSS 为 svg-sprite 设置动画。 我创建了一个精灵并从 gulp 中注入它:
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/'))
});
...并将图像从精灵插入到 HTML:
<svg class="icon-ufo" >
<use xlink:href="img/sprite.svg#ufo" aria-hidden="true"></use>
</svg>
而且效果很好,但是下图显示shadow DOM是关闭的。
如何在没有 JavaScript 的情况下为这个 SVG 的某些样式设置动画?但是如果 JavaScript 是唯一的方法,那么如何做得更好呢?
【问题讨论】:
标签: css svg gulp shadow-dom svg-sprite