Skip to content
官方QQ交流群
pc端ui:468705115   点此加入
移动端ui:468217742   点此加入
技术交流1:87208295   点此加入
技术交流2:787747122   点此加入
官网
云控制台
开放平台
关注微信公众号
代码仓库: 码云

Layout 布局

通过基础的 12 分栏,迅速简便地创建布局

注意

如需实现类似宫格的布局,请使用uView的Grid宫格组件,可以设置角标,功能更完善和灵活

平台差异说明

App(vue)App(nvue)H5小程序

基本使用

通过col组件的span设置需要分栏的比例

html
<template>
    <view class="u-page">
        <view class="u-demo-block">
            <text class="u-demo-block__title">基础使用</text>
            <view class="u-demo-block__content">
                <up-row customStyle="margin-bottom: 10px">
                    <up-col span="6">
                        <view class="demo-layout bg-purple-light"></view>
                    </up-col>
                    <up-col span="6">
                        <view class="demo-layout bg-purple"></view>
                    </up-col>
                </up-row>
                <up-row customStyle="margin-bottom: 10px">
                    <up-col span="4">
                        <view class="demo-layout bg-purple"></view>
                    </up-col>
                    <up-col span="4">
                        <view class="demo-layout bg-purple-light"></view>
                    </up-col>
                    <up-col span="4">
                        <view class="demo-layout bg-purple-dark"></view>
                    </up-col>
                </up-row>
                <up-row justify="space-between">
                    <up-col span="3">
                        <view class="demo-layout bg-purple"></view>
                    </up-col>
                    <up-col span="3">
                        <view class="demo-layout bg-purple-light"></view>
                    </up-col>
                    <up-col span="3">
                        <view class="demo-layout bg-purple"></view>
                    </up-col>
                    <up-col span="3">
                        <view class="demo-layout bg-purple-light"></view>
                    </up-col>
                </up-row>
            </view>
        </view>
    </view>
</template>

<style>
.wrap {
    padding: 12px;
}

.demo-layout {
    height: 25px;
    border-radius: 4px;
}

.bg-purple {
    background: #CED7E1;
}

.bg-purple-light {
    background: #e5e9f2;
}

.bg-purple-dark {
    background: #99a9bf;
}
</style>

分栏间隔

通过设置row组件的gutter参数,来指定每一栏之间的间隔(最终表现为左边内边距各为gutter/2),默认间隔为0

html
<view class="u-demo-block__content">
    <up-row
            justify="space-between"
            gutter="10"
    >
        <up-col span="3">
            <view class="demo-layout bg-purple"></view>
        </up-col>
        <up-col span="3">
            <view class="demo-layout bg-purple-light"></view>
        </up-col>
        <up-col span="3">
            <view class="demo-layout bg-purple"></view>
        </up-col>
        <up-col span="3">
            <view class="demo-layout bg-purple-light"></view>
        </up-col>
    </up-row>
</view>

<style>
.wrap {
    padding: 12px;
}

.demo-layout {
    height: 25px;
    border-radius: 4px;
}

.bg-purple {
    background: #CED7E1;
}

.bg-purple-light {
    background: #e5e9f2;
}

.bg-purple-dark {
    background: #99a9bf;
}
</style>

混合布局

通过指定col组件的span属性,指定不同的值,达到不同的比例

html
<view class="u-demo-block__content">
    <up-row
        justify="space-between"
        gutter="10"
    >
        <up-col span="2">
            <view class="demo-layout bg-purple-light"></view>
        </up-col>
        <up-col span="4">
            <view class="demo-layout bg-purple"></view>
        </up-col>
        <up-col span="6">
            <view class="demo-layout bg-purple-dark"></view>
        </up-col>
    </up-row>
</view>

<style>
.wrap {
    padding: 12px;
}

.demo-layout {
    height: 25px;
    border-radius: 4px;
}

.bg-purple {
    background: #CED7E1;
}

.bg-purple-light {
    background: #e5e9f2;
}

.bg-purple-dark {
    background: #99a9bf;
}
</style>

分栏偏移

通过指定col组件的offset属性可以指定分栏偏移的栏数。

html
<view class="u-demo-block__content">
    <up-row
            justify="space-between"
            customStyle="margin-bottom: 10px"
    >
        <up-col
                span="3"
                offset="3"
        >
            <view class="demo-layout bg-purple-light"></view>
        </up-col>
        <up-col
                span="3"
                offset="3"
        >
            <view class="demo-layout bg-purple"></view>
        </up-col>
    </up-row>
    <up-row>
        <up-col span="3">
            <view class="demo-layout bg-purple-light"></view>
        </up-col>
        <up-col
                span="3"
                offset="3"
        >
            <view class="demo-layout bg-purple"></view>
        </up-col>
    </up-row>
</view>

对齐方式

通过row组件的justify来对分栏进行灵活的对齐, 可选值为start(或flex-start)、end(或flex-end)、centeraround(或space-around)、between(或space-between), 其最终的表现类似于css的justify-content属性。

注意:由于持微信小程序编译后的特殊结构,此方式不支持微信小程序。

html
<view class="u-demo-block__content">
    <up-row
            justify="space-between"
            customStyle="margin-bottom: 10px"
    >
        <up-col
                span="3"
        >
            <view class="demo-layout bg-purple-light"></view>
        </up-col>
        <up-col
                span="3"
        >
            <view class="demo-layout bg-purple"></view>
        </up-col>
    </up-row>
    <up-row>
        <up-col span="3">
            <view class="demo-layout bg-purple-light"></view>
        </up-col>
        <up-col
                span="3"
        >
            <view class="demo-layout bg-purple"></view>
        </up-col>
    </up-row>
</view>

此页面源代码地址

页面源码地址


 github  gitee

API

Row Props

参数说明类型默认值可选值
gutter栅格间隔,左右各为此值的一半,单位任意String/Number0-
justify水平排列方式(微信小程序暂不支持)Stringstart(或flex-start)end(或flex-end) / center / around(或space-around) / between(或space-between)
align垂直排列方式Stringcentertop / bottom

Col Props

参数说明类型默认值可选值
span栅格占据的列数,总12等分String/Number01-12
offset分栏左边偏移,计算方式与span相同String/Number0-
justify水平排列方式Stringstartstart(或flex-start)、end(或flex-end)、centeraround(或space-around)、between(或space-between)
align垂直对齐方式Stringstretchtopcenterbottomstretch
textAlign文字水平对齐方式Stringleftcenter / right

Row Events

事件名说明回调参数
clickrow被点击-

Col Events

事件名说明回调参数
clickcol被点击,会阻止事件冒泡到row-

Copyright © 2017 10yun.com | 十云提供计算服务-IPV6 | ctocode组开发