1. 程式人生 > 程式設計 >微信小程式實現九宮格效果

微信小程式實現九宮格效果

本文例項為大家分享了微信小程式實現九宮格效果的具體程式碼,供大家參考,具體內容如下

1.九宮格實現示例圖:

微信小程式實現九宮格效果

Tips: 說明:

使用 display: -webkit-flex;對佈局做相容。

保證每排三個圖示的兩對對齊,採用:justify-content: space-between;屬性。

父元素必須設定 flex-wrap: wrap;屬性進行換行,否則會在一排展示。

個子元素的寬度width: 33.33333333%;按照其佔位大小分配。

使用justify-content:center;屬性設定元素居中。

使用flex-direction: column;flex-wrap: wrap;

屬性設定icontext元素豎直排列。

2.在 .檔案中定義資料來源:

Page({

  /**
   * 頁面資料來源
   */
  data: {
    iconColor: [
      'red','orange','yellow','greenhttp://www.cppcns.com','rgb(0,255,255)','blue','purple'
    ],iconStyle: [
      {
        "type":"success","size":30,"color":"#32CD32"
      },{
        "type": "success_no_circle","size": 30,"color": "orange"
      },{
        "type": "info","color": "yellow"
      },{
        "type": "warn","color": "green"
      },www.cppcns.com
{ "type": "waiting","color": "rgb(0,255)" },{ "type": "cancel","color"客棧: "blue" },{ "type": "download","color": "purple" },{ "type": "search","color": "#C4C4C4" },{ "type": "clear","color": "red" } ] } })

3.在 .wxss檔案中定義樣式如下:

 /*
  九宮格容器佈局樣式
 */
.grid-item-container {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: 1rpx solid #D9D9D9;
}

/*
  item容器樣式
*/
.grid-item-child {
  display:flex;
  display: -webkit-flex;
  justify-content:center;
  flex-direction: column;
  flex-wrap: wrap;
  float: left;
  width: 33.33333333%;
  height: 200rpx;
  box-sizing: border-box;
  background-color: #FFFFFF;
  border-right: 1rpx solid #D9D9D9;
  border-bottom: 1rpx solid #D9D9D9;
}

/*
  icon樣式
*/
.grid-item-icon {
  display:flex;
  display: -webkit-flex;
  justify-content:center;
}

/*
 文字樣式
*/
.grid-item-label {
  display:flex;
  display: -webkit-flex;
  justify-content:center;
  color: #666;
  font-size: 14px;
}

4.在 .wxml檔案中具體使用:

<view class='grid-item-container'>
  <block wx:for="{{iconStyle}}" wx:key="index">
    <view class='grid-item-child'>
      <view>
        <icon class='grid-item-icon' type='{{item.type}}' size='{{item.size}}' color='{{item.color}}'/>
        <text class='grid-item-label'>{{item.type}}</text>
      </view>
    </view>
  </block>
</view>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。