微信小程序 — 九宫格

效果图如下:
九宮格
网络上有几种作法,在此我采用了〝学而时习之〞所提供的做法。其作法很简单,就是将所有格子内容用 wx:for 逐一呈现,然后利用 css 控制格子大小,且宽度不足时会自动换行的特性,达到九宫格的显示效果。

在 menu.wxml 中布置如下代码:

  <view class="grids">
    <view class="grids-cell" wx:for="{{itemList}" wx:key="name">
      <navigator url="{{item.url}}">
        <view class="grids-cell-icon">
          <image src="{{item.pic}}" mode="scaleToFill" />
        </view>
        <text class="grids-cell-label">{{item.name}}</text>
      </navigator>
    </view>
  </view>

在 menu.js 中设置资料:

  data: {
    itemList:[
      {
        name: "语文",
        url: "../C1/index",
        pic:"../../images/icon/01.png"
      },
      {
        name: "数学",
        url: "../C2/index",
        pic: "../../images/icon/02.png"
      },
      {
        name: "英语",
        url: "../C3/index",
        pic: "../../images/icon/03.png"
      },
      {
        name: "历史",
        url: "../C4/index",
        pic: "../../images/icon/04.png"
      }      
    ]
  },

在menu.wxss设置样式:

.grids {
  position: relative;
  overflow: hidden;
  padding:10px;
  text-align:center;
}

.grids-cell {
  position: relative;
  float: left;
  width: 30%;
  margin:5px;
 }

.grids-cell-icon {
  display: block;
  width: 100%;
  height: 100%;
  text-align:center;
  margin-top: 5px;
}

.grids-cell-icon image {
  width: 80px;
  height: 80px;
}

.grids-cell-label {
  display: block;
  font-size:14px;
  text-align:center;
}

参考资料:

小程序开发系列(四)九宫格另一种实现
https://blog.csdn.net/xxdddail/article/details/70314211

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值