Layout 布局

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

注意

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

平台差异说明

AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序

基本使用

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

  1. <template>
  2. <view class="wrap">
  3. <u-row gutter="16">
  4. <u-col span="3">
  5. <view class="demo-layout bg-purple"></view>
  6. </u-col>
  7. <u-col span="4">
  8. <view class="demo-layout bg-purple-light"></view>
  9. </u-col>
  10. <u-col span="5">
  11. <view class="demo-layout bg-purple-dark"></view>
  12. </u-col>
  13. </u-row>
  14. <u-row gutter="16" justify="space-between">
  15. <u-col span="3">
  16. <view class="demo-layout bg-purple"></view>
  17. </u-col>
  18. <u-col span="9">
  19. <view class="demo-layout bg-purple-light"></view>
  20. </u-col>
  21. </u-row>
  22. </view>
  23. </template>
  24. <style scoped lang="scss">
  25. .wrap {
  26. padding: 24rpx;
  27. }
  28. .u-row {
  29. margin: 40rpx 0;
  30. }
  31. .demo-layout {
  32. height: 80rpx;
  33. border-radius: 8rpx;
  34. }
  35. .bg-purple {
  36. background: #d3dce6;
  37. }
  38. .bg-purple-light {
  39. background: #e5e9f2;
  40. }
  41. .bg-purple-dark {
  42. background: #99a9bf;
  43. }
  44. </style>

分栏间隔

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

  1. <u-row gutter="16">
  2. <u-col span="3">
  3. <view class="demo-layout bg-purple">
  4. </view>
  5. </u-col>
  6. <u-col span="9">
  7. <view class="demo-layout bg-purple-light">
  8. </view>
  9. </u-col>
  10. </u-row>

分栏偏移

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

  1. <u-row gutter="16">
  2. <u-col span="3">
  3. <view class="demo-layout bg-purple"></view>
  4. </u-col>
  5. <u-col span="3" offset="6">
  6. <view class="demo-layout bg-purple-light"></view>
  7. </u-col>
  8. </u-row>

对齐方式

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

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

  1. <u-row gutter="16" justify="center">
  2. <u-col span="3">
  3. <view class="demo-layout bg-purple"></view>
  4. </u-col>
  5. <u-col span="3">
  6. <view class="demo-layout bg-purple-light"></view>
  7. </u-col>
  8. </u-row>

API

Row Props

参数说明类型默认值可选值
gutter栅格间隔,左右各为此值的一半,单位rpxString | 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-