Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2018/07/29 - 微信小程序如何使用iconfont? #10

Open
wusb opened this issue Jul 29, 2018 · 2 comments
Open

2018/07/29 - 微信小程序如何使用iconfont? #10

wusb opened this issue Jul 29, 2018 · 2 comments

Comments

@wusb
Copy link
Contributor

wusb commented Jul 29, 2018

iconfont给前端带来的便利相信已众所周知,我也一直遵循能用iconfont的情况下,绝不用image。但是这周开始接触小程序,却发现小程序里不能按照之前的方式愉快的使用了。

此前

使用打开iconfont官网,选择需要的icon,加入到个人项目里。

img

然后选择Unicode模式,点击复制代码,将在线资源复制的全局CSS文件里。再用一个专用class(.iconfont)用来定义iconfont。

@font-face {
  font-family: 'iconfont';  /* project id 319212 */
  src: url('//at.alicdn.com/t/font_tdeh59rfkwdhd7vi.eot');
  src: url('//at.alicdn.com/t/font_tdeh59rfkwdhd7vi.eot?#iefix') format('embedded-opentype'),
  url('//at.alicdn.com/t/font_tdeh59rfkwdhd7vi.woff') format('woff'),
  url('//at.alicdn.com/t/font_tdeh59rfkwdhd7vi.ttf') format('truetype'),
  url('//at.alicdn.com/t/font_tdeh59rfkwdhd7vi.svg#iconfont') format('svg');
}

.iconfont {
  font-family: "iconfont";
  font-size: .16rem;
  font-style: normal;
  color: #9e9595;
}

接着鼠标hover到图标上点击复制代码,然后在html里面用一个标签包裹即可愉快的使用了。

<i class="iconfont">&#xe604;</i>

img

但是

在小程序里面,按照这种方式继续用的话,就。。。尴尬了😅

<text class="iconfont">&#xe604;</text>

img

漂亮的图标,变成了让人心慌的代码。这可怎么办???

很多网友推荐将字体图标转化成base64😅😅。虽然这也不乏是一种解决方案,但是,显得很麻烦。特别是在项目初期,不确定需要用哪些图标的时候,加一个图标转一次,特别心累。

美好的事情即将发生

经过一番研究后,我发现还是可以按照以前的方式引用在线资源。不过在html里面使用的时候我们需要用到伪类元素。说到这个大家应该都有底了吧,哈哈。

回到我们第一张图

img

我们需要在原来的CSS基础上,再为每一个图标自定义一个class名。比如这开灯的icon

.icon-kaideng:before { 
  content: "\e604";
  font-size: 36rpx;
  color: #5FB7EB;
}

content里面的内容为字体编码的后4位加一个\,

接着,在wxml里面这么使用就好了

<icon class="iconfont icon-kaideng"/>

img

哈哈,简单吧!!

广而告之

本文发布于薄荷前端周刊,欢迎Watch & Star ★,转载请注明出处。

欢迎讨论,点个赞再走吧 。◕‿◕。 ~

@yalin28
Copy link

yalin28 commented Aug 3, 2018

原理是什么呢

@wusb
Copy link
Contributor Author

wusb commented Aug 3, 2018

@wuyiya wxml不支持iconfont字符串渲染,css伪类还是支持的。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants