layout.vue 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. <template>
  2. <view>
  3. <cu-custom bgColor="bg-gradual-blue" :isBack="true">
  4. <block slot="backText">返回</block>
  5. <block slot="content">布局</block>
  6. </cu-custom>
  7. <scroll-view scroll-x class="bg-white nav text-center fixed" :style="[{top:CustomBar + 'px'}]">
  8. <view class="cu-item" :class="index==TabCur?'text-blue cur':''" v-for="(item,index) in tabNav" :key="index" @tap="tabSelect"
  9. :data-id="index">
  10. {{tabNav[index]}}
  11. </view>
  12. </scroll-view>
  13. <block v-if="TabCur==0">
  14. <view class="cu-bar bg-white solid-bottom margin-top">
  15. <view class="action">
  16. <text class="cuIcon-title text-blue"></text>固定尺寸
  17. </view>
  18. </view>
  19. <view class="padding bg-white">
  20. <view class="flex flex-wrap">
  21. <view class="basis-xs bg-grey margin-xs padding-sm radius">xs(20%)</view>
  22. <view class="basis-df"></view>
  23. <view class="basis-sm bg-grey margin-xs padding-sm radius">sm(40%)</view>
  24. <view class="basis-df"></view>
  25. <view class="basis-df bg-grey margin-xs padding-sm radius">sub(50%)</view>
  26. <view class="basis-lg bg-grey margin-xs padding-sm radius">lg(60%)</view>
  27. <view class="basis-xl bg-grey margin-xs padding-sm radius">xl(80%)</view>
  28. </view>
  29. </view>
  30. <view class="cu-bar bg-white margin-top solid-bottom">
  31. <view class="action">
  32. <text class="cuIcon-title text-blue"></text>比例布局
  33. </view>
  34. </view>
  35. <view class="padding bg-white">
  36. <view class="flex">
  37. <view class="flex-sub bg-grey padding-sm margin-xs radius">1</view>
  38. <view class="flex-sub bg-grey padding-sm margin-xs radius">1</view>
  39. </view>
  40. <view class="flex p-xs margin-bottom-sm mb-sm">
  41. <view class="flex-sub bg-grey padding-sm margin-xs radius">1</view>
  42. <view class="flex-twice bg-grey padding-sm margin-xs radius">2</view>
  43. </view>
  44. <view class="flex p-xs margin-bottom-sm mb-sm">
  45. <view class="flex-sub bg-grey padding-sm margin-xs radius">1</view>
  46. <view class="flex-twice bg-grey padding-sm margin-xs radius">2</view>
  47. <view class="flex-treble bg-grey padding-sm margin-xs radius">3</view>
  48. </view>
  49. </view>
  50. <view class="cu-bar bg-white margin-top solid-bottom">
  51. <view class="action">
  52. <text class="cuIcon-title text-blue"></text>水平对齐(justify)
  53. </view>
  54. </view>
  55. <view class="bg-white">
  56. <view class="flex solid-bottom padding justify-start">
  57. <view class="bg-grey padding-sm margin-xs radius">start</view>
  58. <view class="bg-grey padding-sm margin-xs radius">start</view>
  59. </view>
  60. <view class="flex solid-bottom padding justify-end">
  61. <view class="bg-grey padding-sm margin-xs radius">end</view>
  62. <view class="bg-grey padding-sm margin-xs radius">end</view>
  63. </view>
  64. <view class="flex solid-bottom padding justify-center">
  65. <view class="bg-grey padding-sm margin-xs radius">center</view>
  66. <view class="bg-grey padding-sm margin-xs radius">center</view>
  67. </view>
  68. <view class="flex solid-bottom padding justify-between">
  69. <view class="bg-grey padding-sm margin-xs radius">between</view>
  70. <view class="bg-grey padding-sm margin-xs radius">between</view>
  71. </view>
  72. <view class="flex solid-bottom padding justify-around">
  73. <view class="bg-grey padding-sm margin-xs radius">around</view>
  74. <view class="bg-grey padding-sm margin-xs radius">around</view>
  75. </view>
  76. </view>
  77. <view class="cu-bar bg-white margin-top solid-bottom">
  78. <view class="action">
  79. <text class="cuIcon-title text-blue"></text>垂直对齐(align)
  80. </view>
  81. </view>
  82. <view class="bg-white">
  83. <view class="flex solid-bottom padding align-start">
  84. <view class="bg-grey padding-lg margin-xs radius">ColorUi</view>
  85. <view class="bg-grey padding-sm margin-xs radius">start</view>
  86. </view>
  87. <view class="flex solid-bottom padding align-end">
  88. <view class="bg-grey padding-lg margin-xs radius">ColorUi</view>
  89. <view class="bg-grey padding-sm margin-xs radius">end</view>
  90. </view>
  91. <view class="flex solid-bottom padding align-center">
  92. <view class="bg-grey padding-lg margin-xs radius">ColorUi</view>
  93. <view class="bg-grey padding-sm margin-xs radius">center</view>
  94. </view>
  95. </view>
  96. </block>
  97. <block v-if="TabCur==1">
  98. <view class="cu-bar bg-white margin-top solid-bottom">
  99. <view class="action">
  100. <text class="cuIcon-title text-blue"></text>等分列
  101. </view>
  102. <view class="action"></view>
  103. </view>
  104. <view class="bg-white padding">
  105. <view class="grid margin-bottom text-center" v-for="(item,index) in 5" :key="index" :class="'col-' + (index+1)">
  106. <view class="padding" :class="indexs%2==0?'bg-cyan':'bg-blue'" v-for="(item,indexs) in (index+1)*2" :key="indexs">{{indexs+1}}</view>
  107. </view>
  108. </view>
  109. <view class="cu-bar bg-white margin-top solid-bottom">
  110. <view class="action">
  111. <text class="cuIcon-title text-blue"></text>等高
  112. </view>
  113. <view class="action"></view>
  114. </view>
  115. <view class="bg-white padding">
  116. <view class="grid col-4 grid-square">
  117. <view class="bg-img" v-for="(item,index) in avatar" :key="index" :style="[{ backgroundImage:'url(' + avatar[index] + ')' }]"></view>
  118. </view>
  119. </view>
  120. </block>
  121. <block v-if="TabCur==2">
  122. <view class="cu-bar bg-white margin-top solid-bottom">
  123. <view class="action">
  124. <text class="cuIcon-title text-blue"></text>浮动
  125. </view>
  126. </view>
  127. <view class="bg-white padding">
  128. <view class=" cf padding-sm">
  129. <view class="bg-grey radius fl padding-sm">ColorUi fl</view>
  130. <view class="bg-grey radius fr padding-sm">ColorUi fr</view>
  131. </view>
  132. </view>
  133. <view class="cu-bar bg-white solid-bottom margin-top solid-bottom">
  134. <view class="action">
  135. <text class="cuIcon-title text-blue"></text>内外边距
  136. </view>
  137. </view>
  138. <view class="bg-white">
  139. <view class="padding bg-gray">{size}的尺寸有xs/sm/df/lg/xl</view>
  140. <view class="flex flex-wrap padding solid-top">
  141. <view class="basis-df padding-bottom-xs">外边距</view>
  142. <view class="basis-df padding-bottom-xs">内边距</view>
  143. <view class="basis-df">.margin-{size}</view>
  144. <view class="basis-df">.padding-{size}</view>
  145. </view>
  146. <view class="flex flex-wrap padding solid-top">
  147. <view class="basis-df padding-bottom-xs">水平方向外边距</view>
  148. <view class="basis-df padding-bottom-xs">水平方向内边距</view>
  149. <view class="basis-df">.margin-lr-{size}</view>
  150. <view class="basis-df">.padding-lr-{size}</view>
  151. </view>
  152. <view class="flex flex-wrap padding solid-top">
  153. <view class="basis-df padding-bottom-xs">垂直方向外边距</view>
  154. <view class="basis-df padding-bottom-xs">垂直方向内边距</view>
  155. <view class="basis-df">.margin-tb-{size}</view>
  156. <view class="basis-df">.padding-tb-{size}</view>
  157. </view>
  158. <view class="flex flex-wrap padding solid-top">
  159. <view class="basis-df padding-bottom-xs">上外边距</view>
  160. <view class="basis-df padding-bottom-xs">上内边距</view>
  161. <view class="basis-df">.margin-top-{size}</view>
  162. <view class="basis-df">.padding-top-{size}</view>
  163. </view>
  164. <view class="flex flex-wrap padding solid-top">
  165. <view class="basis-df padding-bottom-xs">右外边距</view>
  166. <view class="basis-df padding-bottom-xs">右内边距</view>
  167. <view class="basis-df">.margin-right-{size}</view>
  168. <view class="basis-df">.padding-right-{size}</view>
  169. </view>
  170. <view class="flex flex-wrap padding solid-top">
  171. <view class="basis-df padding-bottom-xs">下外边距</view>
  172. <view class="basis-df padding-bottom-xs">下内边距</view>
  173. <view class="basis-df">margin-bottom-{size}</view>
  174. <view class="basis-df">.padding-bottom-{size}</view>
  175. </view>
  176. <view class="flex flex-wrap padding solid-top">
  177. <view class="basis-df padding-bottom-xs">左外边距</view>
  178. <view class="basis-df padding-bottom-xs">左内边距</view>
  179. <view class="basis-df">.margin-left-{size}</view>
  180. <view class="basis-df">.padding-left-{size}</view>
  181. </view>
  182. </view>
  183. </block>
  184. </view>
  185. </template>
  186. <script>
  187. export default {
  188. data() {
  189. return {
  190. CustomBar: this.CustomBar,
  191. TabCur: 0,
  192. avatar:['https://ossweb-img.qq.com/images/lol/web201310/skin/big10001.jpg','https://ossweb-img.qq.com/images/lol/web201310/skin/big81005.jpg','https://ossweb-img.qq.com/images/lol/web201310/skin/big25002.jpg','https://ossweb-img.qq.com/images/lol/web201310/skin/big99008.jpg'],
  193. tabNav: ['Flex布局', 'Grid布局', '辅助布局']
  194. };
  195. },
  196. methods: {
  197. tabSelect(e) {
  198. this.TabCur = e.currentTarget.dataset.id;
  199. this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60
  200. }
  201. }
  202. }
  203. </script>
  204. <style>
  205. page {
  206. padding-top: 45px;
  207. }
  208. </style>