Web图标工程化方案,前端开发汇总

本文介绍了前端图标工程化的两种常见方案:SVG Sprite和Iconfont。详细讲解了如何使用gulp自动化构建生成Iconfont,包括安装依赖、配置gulpfile以及自定义CSS模板。另外,讨论了SVG的优势,如矢量图不失真、易于改变颜色和尺寸,以及不同的引入方式。
摘要由CSDN通过智能技术生成

复制代码

工程化方式

依赖网站生成字体文件,在替换或加图标后需要重新覆盖项目中的图标css代码,不够自动化。可以使用工具脚本在本地项目中将SVG文件生成iconfont,更方便地管理项目图标。需要在项目中安装以下依赖库。

  • gulp (自动化构建工具)

  • gulp-iconfont (使用gulp将svg图标集合创建为 svg/ttf/eot/woff/woff2字体)

  • gulp-iconfont-css (结合gulp-iconfont生成配套的css样式)

gulpfile

var gulp = require(‘gulp’);

var iconfont = require(‘gulp-iconfont’);

var iconfontCss = require(‘gulp-iconfont-css’);

/** 生成图标字体文件*/

gulp.task(‘Iconfont’, function() {

return gulp

.src([‘…/src/icons/svg/*.svg’])

.pipe(

iconfontCss({

fontName: ‘spicons’, //字体名

path: ‘…/src/icons/templates/iconFont.less’, //模板文件路径

targetPath: ‘…/spicons-icons.less’,//样式文件目标地址相对于dest目录

cssClass: ‘sp-icon’ //样式类名

})

)

.pipe(

iconfont({

fontName: ‘spicons’, // required

formats: [‘ttf’, ‘eot’, ‘woff’, ‘svg’]

})

)

.pipe(gulp.dest(‘…/src/styles/iconfont/fonts’));

});

gulp.task(‘default’,gulp.series(‘Iconfont’));

复制代码

gulp-iconfont-css支持使用自定义的css模板,来组织生成的字体配套样式,以灵活的方式创建符合项目规范的样式命名,引用路径。

  • less模板

@spicons-font-path: “./fonts”;

@font-face {

font-family: “&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值