当前位置:首页 > uni-app

uniapp 2列布局

2026-03-05 11:46:28uni-app

uniapp 实现 2 列布局的方法

使用 Flex 布局

Flex 布局是最常用的方法之一,可以轻松实现两列布局。通过设置 display: flexflex-wrap: wrap,子元素会自动排列成两列。

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

<style>
.container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.item {
  width: 48%;
  margin-bottom: 10px;
  background-color: #f0f0f0;
  padding: 10px;
  box-sizing: border-box;
}
</style>

使用 Grid 布局

CSS Grid 布局提供了更灵活的网格系统,适合复杂的布局需求。通过 display: gridgrid-template-columns 可以定义两列。

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

<style>
.grid-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.grid-item {
  background-color: #f0f0f0;
  padding: 10px;
}
</style>

使用百分比宽度

通过设置子元素的宽度为 50%49%(留出间距),可以实现简单的两列布局。

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

<style>
.percent-container {
  width: 100%;
}

.percent-item {
  width: 49%;
  float: left;
  margin-right: 2%;
  margin-bottom: 10px;
  background-color: #f0f0f0;
  padding: 10px;
  box-sizing: border-box;
}

.percent-item:nth-child(2n) {
  margin-right: 0;
}
</style>

使用 uni-rowuni-col 组件

uniapp 提供了 uni-rowuni-col 组件,可以快速实现栅格布局。

uniapp 2列布局

<template>
  <uni-row>
    <uni-col span="12" v-for="(item, index) in list" :key="index">
      <view class="col-item">
        {{ item }}
      </view>
    </uni-col>
  </uni-row>
</template>

<style>
.col-item {
  background-color: #f0f0f0;
  padding: 10px;
  margin: 5px;
}
</style>

注意事项

  • 确保父容器宽度足够,避免内容溢出。
  • 使用 box-sizing: border-box 防止内边距影响布局。
  • 在移动端适配时,可以通过媒体查询调整布局。

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

相关文章

vue实现动态显示布局

vue实现动态显示布局

Vue 实现动态显示布局的方法 动态显示布局通常涉及根据数据或用户交互动态调整页面结构和内容。以下是几种常见的实现方式: 使用 v-if 和 v-show 指令 v-if 和 v-show 都可以控…

vue如何实现两栏布局

vue如何实现两栏布局

使用Flexbox实现两栏布局 Flexbox是CSS3中强大的布局方式,可以轻松实现两栏布局。在Vue中可以直接在组件的style标签中使用。 <template> <div…

uniapp 美颜

uniapp 美颜

uniapp 美颜实现方法 在uniapp中实现美颜功能可以通过多种方式完成,以下是一些常见的方法: 使用原生插件 uniapp支持调用原生插件实现美颜效果,适用于对性能要求较高的场景。需要开发原生…

uniapp悬浮

uniapp悬浮

实现悬浮效果的方法 在UniApp中实现悬浮效果可以通过CSS的position: fixed或position: sticky属性结合动态样式控制来实现。以下是具体实现方式: 使用CSS固定定位…

怎么运行uniapp

怎么运行uniapp

运行 UniApp 的步骤 安装开发环境 确保已安装 Node.js(建议 LTS 版本),通过命令行验证安装: node -v npm -v 全局安装 Vue CLI 工具: npm inst…

Vue实现拖拽布局

Vue实现拖拽布局

Vue 实现拖拽布局的方法 使用 HTML5 原生拖拽 API HTML5 提供了原生的拖拽 API,可以通过 draggable 属性、dragstart、dragend、dragover 和 dr…