当前位置:   article > 正文

uniApp中uView组件库的丰富布局方法_uview u-row

uview u-row

目录

基本使用

#分栏间隔

#混合布局

#分栏偏移

#对齐方式

API

#Row Props

#Col Props

#Row Events

#Col Events


UniApp的uView组件库是一个丰富的UI组件库,提供了各种常用的UI组件和布局方法,帮助开发者快速构建美观、灵活的界面。下面给你写一篇关于uView组件库的布局方法的博客:

基本使用

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

  1. <template>
  2. <view class="u-page">
  3. <view class="u-demo-block">
  4. <text class="u-demo-block__title">基础使用</text>
  5. <view class="u-demo-block__content">
  6. <u-row customStyle="margin-bottom: 10px">
  7. <u-col span="6">
  8. <view class="demo-layout bg-purple-light"></view>
  9. </u-col>
  10. <u-col span="6">
  11. <view class="demo-layout bg-purple"></view>
  12. </u-col>
  13. </u-row>
  14. <u-row customStyle="margin-bottom: 10px">
  15. <u-col span="4">
  16. <view class="demo-layout bg-purple"></view>
  17. </u-col>
  18. <u-col span="4">
  19. <view class="demo-layout bg-purple-light"></view>
  20. </u-col>
  21. <u-col span="4">
  22. <view class="demo-layout bg-purple-dark"></view>
  23. </u-col>
  24. </u-row>
  25. <u-row justify="space-between">
  26. <u-col span="3">
  27. <view class="demo-layout bg-purple"></view>
  28. </u-col>
  29. <u-col span="3">
  30. <view class="demo-layout bg-purple-light"></view>
  31. </u-col>
  32. <u-col span="3">
  33. <view class="demo-layout bg-purple"></view>
  34. </u-col>
  35. <u-col span="3">
  36. <view class="demo-layout bg-purple-light"></view>
  37. </u-col>
  38. </u-row>
  39. </view>
  40. </view>
  41. </view>
  42. </template>
  43. <style lang="scss">
  44. .wrap {
  45. padding: 12px;
  46. }
  47. .demo-layout {
  48. height: 25px;
  49. border-radius: 4px;
  50. }
  51. .bg-purple {
  52. background: #CED7E1;
  53. }
  54. .bg-purple-light {
  55. background: #e5e9f2;
  56. }
  57. .bg-purple-dark {
  58. background: #99a9bf;
  59. }
  60. </style>

#分栏间隔

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

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

#混合布局

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

  1. <view class="u-demo-block__content">
  2. <u-row
  3. justify="space-between"
  4. gutter="10"
  5. >
  6. <u-col span="2">
  7. <view class="demo-layout bg-purple-light"></view>
  8. </u-col>
  9. <u-col span="4">
  10. <view class="demo-layout bg-purple"></view>
  11. </u-col>
  12. <u-col span="6">
  13. <view class="demo-layout bg-purple-dark"></view>
  14. </u-col>
  15. </u-row>
  16. </view>
  17. <style lang="scss">
  18. .wrap {
  19. padding: 12px;
  20. }
  21. .demo-layout {
  22. height: 25px;
  23. border-radius: 4px;
  24. }
  25. .bg-purple {
  26. background: #CED7E1;
  27. }
  28. .bg-purple-light {
  29. background: #e5e9f2;
  30. }
  31. .bg-purple-dark {
  32. background: #99a9bf;
  33. }
  34. </style>

#分栏偏移

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

  1. <view class="u-demo-block__content">
  2. <u-row
  3. justify="space-between"
  4. customStyle="margin-bottom: 10px"
  5. >
  6. <u-col
  7. span="3"
  8. offset="3"
  9. >
  10. <view class="demo-layout bg-purple-light"></view>
  11. </u-col>
  12. <u-col
  13. span="3"
  14. offset="3"
  15. >
  16. <view class="demo-layout bg-purple"></view>
  17. </u-col>
  18. </u-row>
  19. <u-row>
  20. <u-col span="3">
  21. <view class="demo-layout bg-purple-light"></view>
  22. </u-col>
  23. <u-col
  24. span="3"
  25. offset="3"
  26. >
  27. <view class="demo-layout bg-purple"></view>
  28. </u-col>
  29. </u-row>
  30. </view>

#对齐方式

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

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

  1. <view class="u-demo-block__content">
  2. <u-row
  3. justify="space-between"
  4. customStyle="margin-bottom: 10px"
  5. >
  6. <u-col
  7. span="3"
  8. >
  9. <view class="demo-layout bg-purple-light"></view>
  10. </u-col>
  11. <u-col
  12. span="3"
  13. >
  14. <view class="demo-layout bg-purple"></view>
  15. </u-col>
  16. </u-row>
  17. <u-row>
  18. <u-col span="3">
  19. <view class="demo-layout bg-purple-light"></view>
  20. </u-col>
  21. <u-col
  22. span="3"
  23. >
  24. <view class="demo-layout bg-purple"></view>
  25. </u-col>
  26. </u-row>
  27. </view>

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-

总的来说,uView组件库提供了丰富的布局方法和UI组件,可以帮助UniApp开发者快速构建出美观、灵活的界面布局,提升开发效率,为用户提供更加舒适的交互体验。开发者可以根据项目需求选择合适的uView组件,轻松实现各种复杂的布局效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/672739
推荐阅读