gpt4 book ai didi

css - 使用 gulp-iconfont 时无法获取字形代码

转载 作者:行者123 更新时间:2023-11-28 08:56:07 27 4
gpt4 key购买 nike

我正在尝试使用 gulp-iconfont从一组 svg 图像构建图标字体。

我已经创建了 gulp 任务,并且在运行它时没有出现任何错误。但是我也无法获得每个图标的代码,这是我在 css 伪元素上使用图标所需要的。

控制台输出显示奇怪的字符,而 unicode 应该是:

gulp-iconfont output

这是我的 gulp 任务:

gulp.task('iconfont', function(){
gulp.src(['assets/icons/*.svg'])
.pipe(iconfont({
fontName: 'icon-font', // required
appendUnicode: true, // recommended option
normalize: true,
centerHorizontally: true,
fontHeight: 100,
formats: ['ttf', 'eot', 'woff'],
}))
.on('glyphs', function(glyphs, options) {
console.log(glyphs, options);
})
.pipe(gulp.dest('assets/fonts/'));
});

由于 appendUnicode 选项设置为 true,我可以在我的 svg 文件名的开头看到它,例如 uEA02-calendar.svg

但是,如果我尝试在我的 css 文件中使用它:

.calendar:before {
content: "uEA02";
speak: none;
font-style: normal;
font-weight: normal;
font-family: "icon-font"; }

我看到的是文本 uEA02 而不是我的图标。我已经检查过并且正在加载字体,我不知道我会在这里遗漏什么?

最佳答案

我通常将 gulp-iconfont 与 gulp-iconfont-css 配对。这个额外的包导出一个样式表,其中包含绑定(bind)到一个类的适当实体。您可以导出预处理的 css 或原始 css。

这是我的 gulp 任务。

    var iconfont = require('gulp-iconfont');
var iconfontCss = require('gulp-iconfont-css');

var glyphFontName = 'icon';

var stream = gulp.src('resources/assets/glyph/*.svg')
.pipe(iconfontCss({
fontName: glyphFontName,
path: 'node_modules/gulp-iconfont-css/templates/_icons.scss',
targetPath: '../../resources/sass/generated/' + glyphFontName + '.scss',
fontPath: '../fonts/',
cssClass: 'i',
centerHorizontally: true
}))
.pipe(iconfont({
fontName: glyphFontName,
formats: [
'ttf',
'eot',
'woff',
'woff2'
],
}))
.pipe(gulp.dest('public/fonts/'));

return stream;

关于css - 使用 gulp-iconfont 时无法获取字形代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33297107/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com