ionic2标签图标自定义实例

  

  

标签图标的svg格式的矢量图片

  

 ionic2标签图标自定义实例

  

  

打开icoMoon网站去制作字体文件。

  

 ionic2标签图标自定义实例

  

 ionic2标签图标自定义实例

  

 ionic2标签图标自定义实例

  

  

解压下载的文件,将其中字体的文件夹拷贝到ionic2项目的src/资产类目录下,并且将其目录下的styles文css件命名为wecare.scss(这个名称是你字体的文件名称),再将其拷贝到ionic2项目的src/资产/字体目录下。下来我们去修改我们关心。scss文件。
  

  

修改@font-face中的引用地址。

        美元字体路径:“. ./资产/字体”;   @font-face {   粗细:正常;   字体样式:正常;   字体类型:“我们关心”;   src: url(" #{$字体路径}/wecare.eot& # 63; l80w4l”);   src: url(" #{$字体路径}/wecare.eot& # 63; l80w4l # iefix ')格式(“embedded-opentype”),   url(" #{$字体路径}/wecare.ttf& # 63; l80w4l”)格式(“truetype”),   url(" #{$字体路径}/wecare.woff& # 63; l80w4l”)格式(woff的),   url(" #{$字体路径}/wecare.svg& # 63; l80w4l #我们关心的)格式(svg);   }      

修改字体的公共样式部分的选择器

  

原代码         (类^=袄胱印?,(类*=袄胱印?{/*使用!重要的防止浏览器扩展的问题,改变字体*/字体类型:“我们关心”!重要;   说:没有;   字体样式:正常;   粗细:正常;   字体参数:正常;   首字母:没有;   行高:1;/*更好的字体渲染===========*/-webkit-font-smoothing:平滑;   -moz-osx-font-smoothing:灰度;   }      

修改后         .wecare {   首字母:没有;   粗细:正常;   字体样式:正常;   字体参数:正常;   字体类型:“我们关心”!重要;   行高:1;/*更好的字体渲染===========*/-webkit-font-smoothing:平滑;   -moz-osx-font-smoothing:灰度;   说:没有;   }   .ion-ios-smart-outline:之前,   .ion-ios-smart:之前,   .ion-md-smart-outline:之前,   .ion-md-smart:之前,   .ion-ios-test-outline:之前,   .ion-ios-test:之前,   .ion-md-test-outline:之前,   .ion-md-test:{之前   @extend .wecare;   }      

注:将一个通用的选择器改为一个类,然后让被应用的类去继承,是因为使用[类^=袄胱印盷,[类*=袄胱印?来选择时会影响到ionic2自带的图标库,这也是ionic2字体库的写法。

  

字体的引用

        .ion-ios-smart-outline:{之前   内容:“\ e904”;   }   .ion-ios-smart:{之前   内容:“\ e905”;   }   .ion-md-smart-outline:{之前   内容:“\ e904”;   }   .ion-md-smart:{之前   内容:“\ e905”;   }   .ion-ios-test-outline:{之前   内容:“\ e900”;   }   .ion-ios-test:{之前   内容:“\ e901”;   }   .ion-md-test-outline:{之前   内容:“\ e900”;   }   .ion-md-test:{之前   内容:“\ e901”;   }      

注:在ionic2中引用图标主要靠名称来引用,它会根据平台自动添加前缀如ios或android (.ion-ios-smart.ion-md-smart),所以我们必须为ios与android各写一个类名,其中像.ion-ios-test-outline这种是标签未被选中时的样式。

  

将我们的sass文件导入src/主题/变量。scss,然后就可以在标签中使用了。

        @ import“. ./资产/字体/我们关心”;   & lt; ion-tabs>   & lt; ion-tab(根)=" tab1Root " tabTitle=跋衷凇眛abIcon=安馐浴弊4? lt;/ion-tab>   & lt; ion-tab(根)=" tab2Root " tabTitle=捌拦馈眛abIcon=靶畔⑷Α弊4? lt;/ion-tab>   & lt; ion-tab(根)=" tab3Root " tabTitle=扒魇啤眛abIcon=傲等恕弊4? lt;/ion-tab>   & lt; ion-tab(根)=" tab4Root " tabTitle=爸悄堋眛abIcon=爸悄堋弊4? lt;/ion-tab>   & lt; ion-tab(根)=" tab5Root " tabTitle=吧柚谩眛abIcon=傲等恕弊4? lt;/ion-tab>   & lt;/ion-tabs>      

  

在ionic2中android的标签图标选中与未选中只能使用一张svg图片,只是颜色不同。如果我们想要像在ios中一样选中与未选中使用不同的图标,就不能办的到。我们的项目的需求就是这样,我不得已只能去看ionic2关于标签与标签的源码,找到解决问题的方法。我们应该知道在ios中它是通过大纲的后缀来控制显示未选中的图标。起初我看了标签与标签的源码,没有找到关于这个问题的部分。最后在图标的源码中找到了关于这个问题的部分代码。

ionic2标签图标自定义实例