当前位置: 首页 > news >正文

小程序入门:本地生活案例之首页九宫格布局渲染

在微信小程序开发中,实现美观且功能完善的页面布局是至关重要的。今天,我们接着上一节课获取九宫格数据的内容,来深入探讨如何渲染九宫格区域的布局,打造出实用又好看的本地生活小程序首页。

在上一节课,我们成功获取了九宫格的数据列表,这些数据为我们渲染九宫格布局提供了基础。现在,让我们一步步来实现这个布局效果。

一、分析九宫格布局结构

九宫格布局在最外层需要一个包裹性质的容器,用于容纳所有的九宫格项。里面的每一项都是一个子 view,我们要对这些子 view 进行 flex 布局,同时设定每一项的宽度为 33.33%,这样一排正好可以放三个。并且,我们允许这些项进行换行,最终实现九宫格的效果。

二、编写 WXML 结构代码

打开微信开发者工具中的 home.wxml 文件,在里面编写如下代码:

<!-- 这是九宫格 -->
<view class="grid-list"><view class="grid-item" wx:for="{{gridList}}" wx:key="id"><image src="{{item.icon}}" mode="widthFix"></image><text>{{item.name}}</text></view>
</view>

在这段代码中,我们首先定义了一个外层的 view,类名为 grid - list,作为九宫格的容器。然后,在内部使用 wx:for 指令对 gridList 数据列表进行循环渲染,每循环一次就创建一个类名为 grid - item 的子 view。在每个子 view 中,包含一个 image 组件用于展示图标,src 属性通过 Mustache 语法动态绑定 item.icon,确保显示对应的数据图标;还有一个 text 组件用于显示名称,内容绑定 item.name。同时,为了提高渲染性能,我们给每个循环项添加了 wx:key,这里使用数据项中的 id 作为 key。

三、编写 WXSS 样式代码

接下来,打开 home.wxss 文件,编写样式代码来美化九宫格布局:

/* 开启flex布局并允许换行 */
.grid-list {display: flex;flex-wrap: wrap;
}/* 设置每一项的宽度 */
.grid-item {width: 33.33%;
}/* 设置图片的宽和高 */
.grid-item image {width: 60rpx;height: 60rpx;
}/* 设置文本的字体大小 */
.grid-item text {font-size: 24rpx;
}/* 设置每一项的固定高度 */
.grid-item {height: 200rpx;
}/* 对每一项进行flex布局并居中对齐 */
.grid-item {display: flex;flex-direction: column;align-items: center;justify-content: center;
}/* 设置文本和图片之间的间距 */
.grid-item text {margin-top: 10rpx;
}/* 设置每一项的右侧和底部边框 */
.grid-item {border-right: 1rpx solid #efefef;border-bottom: 1rpx solid #efefef;
}/* 设置外层容器的顶部和左边边框 */
.grid-list {border-top: 1rpx solid #efefef;border-left: 1rpx solid #efefef;
}/* 更改盒子模型为border-box */
.grid-item {box-sizing: border-box;
}
  1. 首先,对 .grid - list 类设置 display: flex 开启 flex 布局,并使用 flex - wrap: wrap 允许子元素换行,这样当一行容纳不下所有项时,会自动换行显示。
  2. 给 .grid - item 类设置 width: 33.33%,确保每个九宫格项在一行中均匀分布,一行刚好显示三个。
  3. 针对 .grid - item 中的 image 组件,设置 width: 60rpx 和 height: 60rpx,固定图片的大小,使整个九宫格看起来更加整齐。
  4. 为 .grid - item 中的 text 组件设置 font - size: 24rpx,调整文本的字体大小,让文字显示更加清晰。
  5. 再次对 .grid - item 类设置 height: 200rpx,给每个九宫格项一个固定的高度,避免因内容不同导致高度不一致。
  6. 继续对 .grid - item 类设置 display: flex,并将主轴方向改为 column(纵向),使用 align - items: center 和 justify - content: center 实现图片和文本在纵向和横向都居中对齐,提升布局的美观度。
  7. 给 .grid - item 中的 text 组件添加 margin - top: 10rpx,增加文本和图片之间的间距,使布局更加合理。
  8. 分别为 .grid - item 类设置 border - right 和 border - bottom,为每个九宫格项添加右侧和底部边框;同时为 .grid - list 类设置 border - top 和 border - left,为外层容器添加顶部和左边边框,这样每个九宫格项都被边框包裹起来。
  9. 最后,将 .grid - item 的 box - sizing 属性设置为 border - box,改变盒子模型,确保边框和内边距都包含在元素的宽度和高度之内,避免因边框导致布局错乱,使一行能够正常容纳三个元素。

通过以上步骤,我们就成功渲染出了九宫格区域的布局效果。在实际开发中,大家可以根据项目需求对样式进行进一步调整和优化,比如修改颜色、添加点击效果等,让小程序的用户体验更加出色。希望这篇博客能帮助大家更好地理解和掌握微信小程序九宫格布局的渲染技巧,祝大家开发顺利!

相关文章:

  • 哪个网站做系统好东莞seo网站排名优化
  • 网站备案是哪个部门网站视频播放代码
  • jsp动态网站开发实训报告电子商务推广方式
  • 政府门户网站建设要求百度账号登录官网
  • 济南冰河世纪网站建设北京计算机培训机构哪个最好
  • 是不是做推广都得有网站微信朋友圈营销方案
  • 快速在手机上部署YOLOv10模型
  • MySQL备份和恢复
  • Linux——系统操作前言:冯诺依曼体系结构、全局理解操作系统
  • CSS 背景属性用于定义HTML元素的背景
  • GEO生成式引擎优化发展迅猛:热点数智化传播是GEO最佳路径
  • 3步精简Android11预装!瑞芯微开发板系统瘦身实战
  • BUUCTF在线评测-练习场-WebCTF习题[RoarCTF 2019]Easy Calc1-flag获取、解析
  • 部署网站需求全满足:Websoft9 多应用托管一站式方案解析
  • 本地开发Anchor智能合约:效率翻倍的秘密
  • AAAI 2025论文分享│面向生物医学的具有像素级洞察力的多模态大语言模型
  • 精品方案 | GCKontrolGCAir在汽车ECU协同开发中的应用
  • 小程序入门:跳过域名校验、跨域与 Ajax 问题解析
  • WPF中Converter基础用法
  • 众趣科技与中原地产达成VR看房技术合作,赋能房产经纪数字化转型
  • C++ 快速回顾(二)
  • heygem报错Error: Error invoking remote method ‘model/addModel‘:
  • 16.1 Python应用容器化终极指南:Dockerfile多阶段构建与安全优化实战
  • 适合初学者(kubernetes)k8s脚本安装
  • .NET测试工具Parasoft dotTEST内置安全标准,编码合规更高效
  • 基于 SpringBoot+JSP+ElementUI+jQuery 助农生鲜销售系统设计与实现