微信小程序之手动写导航栏

之前我们用vant写过类似的,这次我们手写,图标用阿里的矢量图标库。

之前的,微信学习之导航功能:

https://blog.youkuaiyun.com/cau_eric/article/details/148062848?spm=1001.2014.3001.5501

用到的资源:

阿里矢量图标网站:https://www.iconfont.cn/

这次,我们要做这个:

我们先新建一个page,music

music.wxml 先添加几个vew,

如下:

<!--pages/music/music.wxml-->

<view class="navContainer">
  <view class="navItem">
    <text>图标</text>
    <text>每日推荐</text>
  </view>
  <view class="navItem">
    <text>图标</text>
    <text>歌单</text>
  </view>
  <view class="navItem">
    <text>图标</text>
    <text>排行榜</text>
  </view>
  <view class="navItem">
    <text>图标</text>
    <text>电台</text>
  </view>
  <view class="navItem">
    <text>图标</text>
    <text>直播</text>
  </view>
</view>

这时候是这样的:

 

我们要达到我们的效果呢,要写样式文件:

.navContainer {
  display: flex;
}

.navItem {
  display: flex;
  flex-direction: column;
  width: 20%;
  align-items: center;
}

这个时候大概就是我们想要的样子了:

 

这时我们去 iconfont-阿里巴巴矢量图标库 取需要的图标,把它们都加入到项目里,

我们在微信小程序工具中,在项目根目录下建立文件,且叫iconfont.wxss

把矢量图标库的图标类加入进来。

iconfont.wxss 代码:

@font-face {
  font-family: "iconfont"; /* Project id 4958113 */
  src: url('//at.alicdn.com/t/c/font_4958113_1s4cfj6f3ze.woff2?t=1750749501394') format('woff2'),
       url('//at.alicdn.com/t/c/font_4958113_1s4cfj6f3ze.woff?t=1750749501394') format('woff'),
       url('//at.alicdn.com/t/c/font_4958113_1s4cfj6f3ze.ttf?t=1750749501394') format('truetype');
}

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-paixingbang:before {
  content: "\e7bd";
}

.icon-meirituijian:before {
  content: "\e603";
}

.icon-zhibo:before {
  content: "\e7d5";
}

.icon-gedan:before {
  content: "\e636";
}

.icon-diantai:before {
  content: "\e605";
}

注:怎么获取这个代码?

 

 

好,接下来我们就要引入图标库:

新建 app.wxss ,代码:

@import "/static/iconfont/iconfont.wxss";

page {
  height: 100%;
}

好了,这样就可以使用了,我们把图标替换成实际的图标:

<!--pages/music/music.wxml-->

<view class="navContainer">
  <view class="navItem">
    <text class="iconfont icon-meirituijian"></text>
    <text>每日推荐</text>
  </view>
  <view class="navItem">
    <text class="iconfont icon-gedan"></text>
    <text>歌单</text>
  </view>
  <view class="navItem">
    <text class="iconfont icon-paixingbang"></text>
    <text>排行榜</text>
  </view>
  <view class="navItem">
    <text class="iconfont icon-diantai"></text>
    <text>电台</text>
  </view>
  <view class="navItem">
    <text class="iconfont icon-zhibo"></text>
    <text>直播</text>
  </view>
</view>

 

这时候是这样的:

给图标和下面的字体写个样式:

/* pages/music/music.wxss */
.navItem .iconfont {
  width: 100rpx;
  height: 100rpx;
  border-radius: 50%;
  text-align: center;
  line-height: 100rpx;
  color: #fff;
  background: rgb(240,19,19);
  font-size: 50rpx;
  margin: 20rpx 0;
}

.navItem text {
  font-size: 26rpx;
}

效果就出来了:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值