程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 原生微信小程序

  • uniapp多端开发

    • 快速入门

    • 内置组件

    • 扩展组件

      • uni-ui 介绍
      • Uni-UI 的安装和使用
      • uni-sass 辅助样式
      • uni-badge 数字角标
      • uni-breadcrumb 面包屑
      • uni-calendar 日历
      • uni-card 卡片
      • uni-collapse 折叠面板
      • uni-combox 组合框
      • uni-countdown 倒计时
      • uni-data-checkbox 数据选择器
      • uni-data-picker 级联选择器
      • uni-data-select 下拉框
      • uni-dateformat 日期格式化
      • uni-datetime-picker 日期选择器
      • uni-drawer 抽屉
      • uni-easyinput 增强输入框
      • uni-fab 悬浮按钮
      • uni-fav 收藏按钮
      • uni-file-picker 文件选择上传
      • uni-forms 表单
      • uni-goods-nav 商品导航
      • uni-grid 宫格
      • uni-group 分组
      • uni-icons 图标
      • uni-indexed-list 索引列表
      • uni-link 超链接
      • uni-list 列表
      • uni-load-more 加载更多
      • uni-nav-bar 自定义导航栏
      • uni-notice-bar 通告栏
      • uni-number-box 数字输入框
      • uni-pagination 分页器
      • uni-popup 弹出层
      • uni-rate 评分
      • uni-row 布局-行
        • 介绍
          • 平台差异说明
          • uni-row
          • uni-col
          • 基本用法
          • 分栏偏移
          • 响应式布局
          • 使用到的 CSS
        • API
          • Row Props
          • Col Props
        • 示例
      • uni-search-bar 搜索栏
      • uni-section 标题栏
      • uni-segmented-control 分段器
      • uni-steps 步骤条
      • uni-swipe-action 滑动操作
      • uni-swiper-dot 轮播图指示点
      • uni-table 表格
      • uni-tag 标签
      • uni-title 章节标题
      • uni-tooltip 文字提示
      • uni-transition 过渡动画
  • 小程序开发
  • uniapp多端开发
  • 扩展组件
scholar
2024-10-21
目录

uni-row 布局-行

组件名 uni-row、uni-col

代码块: uRow、uCol

点击下载&安装 (opens new window)

流式栅格系统,随着屏幕或视口分为 24 份,可以迅速简便地创建布局。

# 介绍

# 平台差异说明

# uni-row

属性名 App(nvue) App(vue) H5 微信小程序 支付宝小程序 百度小程序 抖音小程序 QQ 小程序
gutter - √ √ √ √ √ √ √

# uni-col

属性名 App(nvue) App(vue) H5 微信小程序 支付宝小程序 百度小程序 抖音小程序 QQ 小程序
span √ √ √ √ √ √ √ √
offset √ √ √ √ √ √ √ √
push √ √ √ √ √ √ √ √
pull √ √ √ √ √ √ √ √
xs - √ √ √ √ √ √ √
sm - √ √ √ √ √ √ √
md - √ √ √ √ √ √ √
lg - √ √ √ √ √ √ √
xl - √ √ √ √ √ √ √

# 基本用法

<uni-row class="demo-uni-row">
	<uni-col>
		<view class="demo-uni-col dark_deep"></view>
	</uni-col>
</uni-row>

<uni-row class="demo-uni-row">
	<uni-col :span="12">
		<view class="demo-uni-col dark"></view>
	</uni-col>
	<uni-col :span="12">
		<view class="demo-uni-col light"></view>
	</uni-col>
</uni-row>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 分栏偏移

<uni-row class="demo-uni-row">
	<uni-col :span="8">
		<view class="demo-uni-col dark"></view>
	</uni-col>
	<uni-col :span="8" :offset="6">
		<view class="demo-uni-col dark"></view>
	</uni-col>
</uni-row>

<uni-row class="demo-uni-row">
	<uni-col :span="12" :pull="6">
		<view class="demo-uni-col dark"></view>
	</uni-col>
</uni-row>

<uni-row class="demo-uni-row">
	<uni-col :span="12" :push="6">
		<view class="demo-uni-col dark"></view>
	</uni-col>
</uni-row>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 响应式布局

<uni-row class="demo-uni-row">
	<uni-col :xs="8" :sm="6" :md="4" :lg="3" :xl="1">
		<view class="demo-uni-col dark"></view>
	</uni-col>
	<uni-col :xs="4" :sm="6" :md="8" :lg="9" :xl="11">
		<view class="demo-uni-col light"></view>
	</uni-col>
	<uni-col :xs="4" :sm="6" :md="8" :lg="9" :xl="11">
		<view class="demo-uni-col dark"></view>
	</uni-col>
	<uni-col :xs="8" :sm="6" :md="4" :lg="3" :xl="1">
		<view class="demo-uni-col light"></view>
	</uni-col>
</uni-row>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 使用到的 CSS

.demo-uni-row {
	margin-bottom: 10px;
	/* QQ、抖音小程序文档写有 :host,但实测不生效 */
	/* 百度小程序没有 :host,需要设置block */
	/* #ifdef MP-TOUTIAO || MP-QQ || MP-BAIDU */
	display: block;
	/* #endif */
}

/* 支付宝小程序没有 demo-uni-row 层级 */
/* 微信小程序使用了虚拟化节点,没有 demo-uni-row 层级 */
/* #ifdef MP-ALIPAY || MP-WEIXIN */
/deep/ .uni-row {
	margin-bottom: 10px;
}
/* #endif */

.demo-uni-col {
	height: 36px;
	border-radius: 4px;
}

.dark_deep {
	background-color: #99a9bf;
}

.dark {
	background-color: #d3dce6;
}

.light {
	background-color: #e5e9f2;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

# API

# Row Props

其他平台

属性名 类型 可选值 默认值 必填 说明
gutter Number - 0 否 栅格间隔

nvue平台

属性名 类型 可选值 默认值 必填 说明
width Number/String - 750rpx 否 nvue 中无百分比 width,使用 span 等属性时,需配置此项rpx值。此项不会影响其他平台展示效果

# Col Props

属性名 类型 可选值 默认值 必填 说明
span Number - 24 否 栅格占据的列数
offset Number - - 否 栅格左侧间隔格数
push Number - - 否 栅格向右偏移格数
pull Number - - 否 栅格向左偏移格数
xs Number/object - - 否 屏幕宽度<768px时,要显示的栅格规则,如::xs="8"或:xs="{span: 8, pull: 4}"
sm Number/object - - 否 屏幕宽度≥768px时,要显示的栅格规则
md Number/object - - 否 屏幕宽度≥992px时,要显示的栅格规则
lg Number/object - - 否 屏幕宽度≥1200px时,要显示的栅格规则
xl Number/object - - 否 屏幕宽度≥1920px时,要显示的栅格规则

# 示例

注意

示例依赖了 uni-card uni-section uni-scss 等多个组件,直接拷贝示例代码将无法正常运行 。

请到 组件下载页面 (opens new window) ,在页面右侧选择 使用 HBuilderX导入示例项目 ,体验完整示例演示 (opens new window)。

    <template>
    	<view class="container">
    		<uni-card is-full :is-shadow="false">
    			<!-- #ifndef APP-NVUE -->
    			<text class="uni-h6"> 流式栅格系统,随着屏幕或视口分为 24 份,可以迅速简便地创建布局</text>
    			<!-- #endif -->
    			<!-- #ifdef APP-NVUE -->
    			<text class="uni-h6"> 流式栅格系统,在nvue不可使用媒体查询</text>
    			<!-- #endif -->
    		</uni-card>
    
    		<uni-section title="基础布局" subTitle="使用单一分栏创建基础的栅格布局" type="line">
    			<view class="example-body">
    				<uni-row class="demo-uni-row" :width="nvueWidth">
    					<uni-col>
    						<view class="demo-uni-col dark_deep"></view>
    					</uni-col>
    				</uni-row>
    
    				<uni-row class="demo-uni-row" :width="nvueWidth">
    					<uni-col :span="12">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="12">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    				</uni-row>
    
    				<uni-row class="demo-uni-row" :width="nvueWidth">
    					<uni-col :span="8">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="8">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    					<uni-col :span="8">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    				</uni-row>
    
    				<uni-row class="demo-uni-row" :width="nvueWidth">
    					<uni-col :span="6">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="6">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    					<uni-col :span="6">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="6">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    				</uni-row>
    
    				<uni-row class="demo-uni-row" :width="nvueWidth">
    					<uni-col :span="4">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="4">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    					<uni-col :span="4">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="4">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    					<uni-col :span="4">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="4">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    				</uni-row>
    			</view>
    		</uni-section>
    
    
    		<uni-section title="混合布局" subTitle="通过基础的 1/24 分栏任意扩展组合形成较为复杂的混合布局" type="line">
    			<view class="example-body">
    				<uni-row class="demo-uni-row" :gutter="gutter" :width="nvueWidth">
    					<uni-col :span="8">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="8">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    					<uni-col :span="4">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="4">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    				</uni-row>
    
    				<uni-row class="demo-uni-row" :gutter="gutter" :width="nvueWidth">
    					<uni-col :span="4">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="16">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    					<uni-col :span="4">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    				</uni-row>
    			</view>
    		</uni-section>
    
    
    		<uni-section title="分栏偏移" subTitle="支持偏移指定的栏数" type="line">
    			<view class="example-body">
    				<uni-row class="demo-uni-row" :gutter="gutter" :width="nvueWidth">
    					<uni-col :span="8">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="8" :offset="6">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    				</uni-row>
    
    				<uni-row class="demo-uni-row" :gutter="gutter" :width="nvueWidth">
    					<uni-col :span="6" :offset="6">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="6" :offset="6">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    				</uni-row>
    
    				<uni-row class="demo-uni-row" :gutter="gutter" :width="nvueWidth">
    					<uni-col :span="12" :pull="6">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :span="6" :push="6">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    				</uni-row>
    
    				<uni-row class="demo-uni-row" :gutter="gutter" :width="nvueWidth">
    					<uni-col :span="12" :offset="6">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    				</uni-row>
    			</view>
    		</uni-section>
    
    
    		<!-- #ifndef APP-NVUE -->
    		<uni-section title="响应式布局" subTitle="共五个响应尺寸:xs、sm、md、lg 和 xl" type="line">
    			<view class="example-body">
    				<uni-row class="demo-uni-row" :gutter="gutter">
    					<uni-col :xs="8" :sm="6" :md="4" :lg="3" :xl="1">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :xs="4" :sm="6" :md="8" :lg="9" :xl="11">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    					<uni-col :xs="4" :sm="6" :md="8" :lg="9" :xl="11">
    						<view class="demo-uni-col dark"></view>
    					</uni-col>
    					<uni-col :xs="8" :sm="6" :md="4" :lg="3" :xl="1">
    						<view class="demo-uni-col light"></view>
    					</uni-col>
    				</uni-row>
    			</view>
    		</uni-section>
    
    		<!-- #endif -->
    	</view>
    </template>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    <script>
    	export default {
    		data() {
    			return {
    				gutter: 0,
    				nvueWidth: 730
    			}
    		}
    	}
    </script>
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <style lang="scss">
    	.demo-uni-row {
    		margin-bottom: 10px;
    
    		// 组件在小程序端display为inline
    		// QQ、抖音小程序文档写有 :host,但实测不生效
    		// 百度小程序没有 :host
    		/* #ifdef MP-TOUTIAO || MP-QQ || MP-BAIDU */
    		display: block;
    		/* #endif */
    	}
    
    	// 支付宝小程序没有 demo-uni-row 层级
    	// 微信小程序使用了虚拟化节点,没有 demo-uni-row 层级
    	/* #ifdef MP-ALIPAY || MP-WEIXIN */
    	::v-deep .uni-row {
    		margin-bottom: 10px;
    	}
    
    	/* #endif */
    
    	.demo-uni-col {
    		height: 36px;
    		border-radius: 5px;
    	}
    
    	.dark_deep {
    		background-color: #99a9bf;
    	}
    
    	.dark {
    		background-color: #d3dce6;
    	}
    
    	.light {
    		background-color: #e5e9f2;
    	}
    
    	.example-body {
    		/* #ifndef APP-NVUE */
    		display: block;
    		/* #endif */
    		padding: 5rpx 10rpx 0;
    		overflow: hidden;
    	}
    </style>
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    // Make sure to add code blocks to your code group
    编辑此页 (opens new window)
    上次更新: 2025/02/03, 00:09:13
    uni-rate 评分
    uni-search-bar 搜索栏

    ← uni-rate 评分 uni-search-bar 搜索栏→

    Theme by Vdoing | Copyright © 2019-2025 程序员scholar
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式