当前位置:首页 > uni-app

uniapp四宫格布局

2026-02-06 17:23:21uni-app

四宫格布局实现方法

在UniApp中实现四宫格布局,可以通过flex布局或grid布局完成。以下是两种常见的方法:

方法一:使用Flex布局

<template>
  <view class="container">
    <view class="row" v-for="(row, rowIndex) in gridData" :key="rowIndex">
      <view class="item" v-for="(item, colIndex) in row" :key="colIndex">
        {{ item }}
      </view>
    </view>
  </view>
</template>

<style>
.container {
  padding: 10px;
}
.row {
  display: flex;
  margin-bottom: 10px;
}
.item {
  flex: 1;
  height: 100px;
  margin: 0 5px;
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
}
</style>

<script>
export default {
  data() {
    return {
      gridData: [
        ['1', '2'],
        ['3', '4']
      ]
    }
  }
}
</script>

方法二:使用Grid布局

<template>
  <view class="grid-container">
    <view class="grid-item" v-for="(item, index) in items" :key="index">
      {{ item }}
    </view>
  </view>
</template>

<style>
.grid-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 10px;
  padding: 10px;
}
.grid-item {
  height: 100px;
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
}
</style>

<script>
export default {
  data() {
    return {
      items: ['1', '2', '3', '4']
    }
  }
}
</script>

动态调整间距

可以通过修改CSS中的grid-gap或margin属性来调整格子间距:

/* Flex布局调整间距 */
.item {
  margin: 0 10px 10px 10px;
}

/* Grid布局调整间距 */
.grid-container {
  grid-gap: 15px;
}

响应式设计

添加媒体查询使布局在不同屏幕尺寸下自适应:

@media (min-width: 768px) {
  .grid-container {
    grid-template-columns: repeat(4, 1fr);
  }
}

点击事件处理

为每个格子添加点击事件:

<view class="grid-item" v-for="(item, index) in items" :key="index" @click="handleClick(index)">
  {{ item }}
</view>

<script>
methods: {
  handleClick(index) {
    uni.showToast({
      title: `点击了第${index + 1}个格子`,
      icon: 'none'
    })
  }
}
</script>

uniapp四宫格布局

标签: 格布uniapp
分享给朋友:

相关文章

uniapp 推送

uniapp 推送

uniapp 推送实现方法 uniapp 推送功能可以通过多种方式实现,主要包括使用第三方推送服务、原生插件或云服务。以下是几种常见的实现方案: 使用 UniPush 服务 UniPush 是…

uniapp极光推送

uniapp极光推送

uniapp极光推送集成步骤 准备工作 注册极光推送开发者账号,创建应用获取AppKey。确保uniapp项目已配置好原生插件支持。 安装插件 在uniapp项目manifest.json文件中,…

uniapp隐藏滚动条

uniapp隐藏滚动条

在UniApp中隐藏滚动条可以通过以下几种方法实现,具体根据使用场景选择: 全局样式设置(APP/H5) 通过修改全局CSS样式隐藏滚动条,适用于所有页面: ::-webkit-scrollb…

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

uniapp树形选择

uniapp树形选择

uniapp树形选择实现方法 使用uni-data-checkbox组件 uniapp内置的uni-data-checkbox组件支持树形结构选择,适用于多级分类场景。配置时需要将数据格式化为树形结构…

uniapp视频

uniapp视频

uniapp视频开发基础 uniapp支持通过video组件实现视频播放功能,该组件兼容多端(H5、小程序、App等),基本用法如下: <template> <video…