ionic2中使用自定义字体图标/iconfont自定义字体图标

使用自定义字体图标的开始是一样的都是在字体图标库生成需要用到的字体图标。步骤如下:

以上我选择过前两个都可以实现(Unicode/Font class都可以)

  • unicode 最原始的方式,但是兼容性好。

  • fontclass 使用伪元素和css类的方式,与ionic一样,兼容限制ie8+

  • symbol 唯一支持保留颜色的方式,但是兼容性需要考虑(支持svg的设备和浏览器可以)

ionic用法:

接下来的两种引用方式:不管是哪种引用方式,CSS样式修改后均放在引用的地方的scss页面内,比如tab页面引用的图标就放Tab页面的SCSS里面,或者直接放在app.scss里面,也就是根组件的scss样式里面

1.直接引用方式:

< i class= "iconfont ion-ios-xiaoxi" ></ i >

直接引用的CSS样式修改:

 
@font-face { font-family: "iconfont";
src: url( '../assets/myFont/iconfont.eot?t=1493867644778'); /* IE9*/
src: url( '../assets/myFont/iconfont.eot?t=1493867644778#iefix') format( 'embedded-opentype'), /* IE6-IE8 */
url( '../assets/myFont/iconfont.woff?t=1493867644778') format( 'woff'), /* chrome, firefox */
url( '../assets/myFont/iconfont.ttf?t=1493867644778') format( 'truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url( '../assets/myFont/iconfont.svg?t=1493867644778#iconfont') format( 'svg'); /* iOS 4.1- */
}
 
.iconfont{
text-transform: none;
font-weight: normal;
font-style: normal;
font-variant: normal;
font-family: 'iconfont' !important;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
speak: none;
}
 
.ion-ios-cust:before,
.ion-ios-xiaoxi:before,
.ion-ios-xiaolian:before,
.ion-ios-xiaolian-outline:before,
.ion-ios-xiaoxi-outline:before,
.ion-ios-cust-outline:before
{
@extend .iconfont;
}
 
.ion-ios-cust:before {
content: "\e601";
}
 
.ion-ios-cust-outline:before{
content: "\e601";
}

2.符合ionic的引用方式:

这里需要注意的是1.修改类名字,2.删除下载的iconfont样式让其自动继承ionic默认的样式:

< ion-icon name= "smile" ></ ion-icon >

// 修改font-family名字.注意路径
@font-face { font-family: "Ionicons";
src: url( '../assets/tab/iconfont.eot?t=1499857930007'); /* IE9*/
src: url( '../assets/tab/iconfont.eot?t=1499857930007#iefix') format( 'embedded-opentype'), /* IE6-IE8 */
url( '../assets/tab/iconfont.woff?t=1499857930007') format( 'woff'), /* chrome, firefox */
url( '../assets/tab/iconfont.ttf?t=1499857930007') format( 'truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url( '../assets/tab/iconfont.svg?t=1499857930007#iconfont') format( 'svg'); /* iOS 4.1- */
}
 
// 这部分删掉,让其自动继承ionic默认的icon样式即可
// .iconfont{
// font-family:"iconfont" !important;
// font-size:18px;
// font-style:normal;
// -webkit-font-smoothing: antialiased;
// -moz-osx-font-smoothing: grayscale;
// }
 
.ion-md-smile:before,//注意这里是ion不是icon,每个类名都加上md/ios适配安卓iOS,ios需要多一个outline
.ion-ios-smile:before,
.ion-ios-smile-outline:before {
content: "\e68a";
}

效果:

vue用法:

在导入iconfont后

在main.js里面引入样式

import './assets/iconfont/iconfont.css'//iconfont样式

使用

<i class="iconfont icon-shangsanjiaoxing"></i>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值