Grid

网格组件,Amaze UI Touch 默认提供了 6 列的网格系统。

组件

Grid

<Grid> 组件,网格容器,行。

Props

collapse
PropType: bool

是否移除列默认的内边距(padding)。

wrap
PropType: enum('wrap', 'wrap-reverse')

网格容器 flex-wrap 属性,是否换行,默认为 nowrap

avg
PropType: number

平均分配单元格为 n 列。

align
PropType: enum('right', 'center', 'between', 'around')

行中列宽度总和不足 6 时的对齐方式,不同值的含义参见 justify-content

bordered
PropType: bool

网格是否显示边框,边框可用于制作九宫格效果。

Col

<Col> 组件,网格中列,嵌套在 <Grid> 中。

Props

cols
PropType: number

列宽所占的比例,1-6 的数字。

offset
PropType: number

列偏移(与左边元素的外边距)的数量。

shrink
PropType: bool

列是否自动收缩为内容宽度。

示例

  1. import React from 'react';
  2. import {
  3. Link,
  4. } from 'react-router';
  5. import {
  6. Container,
  7. Group,
  8. Grid,
  9. Col
  10. } from 'amazeui-touch';
  11. const GridExample = React.createClass({
  12. render() {
  13. return (
  14. <Container
  15. {...this.props}
  16. className={this.props.className + ' ks-grid'}
  17. >
  18. <h2>基本演示</h2>
  19. <Group
  20. header="演示说明"
  21. >
  22. <p>为方便查看效果,添加了线框边距,实际使用时没有:</p>
  23. <ul>
  24. <li>Grid: 虚线框</li>
  25. <li>Col: 灰色线框</li>
  26. </ul>
  27. </Group>
  28. <Group
  29. header="基本网格"
  30. footer="列分布在一行上"
  31. >
  32. <Grid>
  33. <Col>col</Col>
  34. <Col>col</Col>
  35. </Grid>
  36. </Group>
  37. <Group
  38. header="指定列所占比例"
  39. footer=" Col 上通过 cols 属性指定列所占比例(总数为 6)"
  40. >
  41. <Grid>
  42. <Col cols={4}>cols: 4</Col>
  43. <Col cols={2}>cols: 2</Col>
  44. </Grid>
  45. </Group>
  46. <Group
  47. header={`换行:wrap="wrap"`}
  48. footer="通过 Grid wrap 属性设置列是否换行"
  49. >
  50. <Grid
  51. wrap="wrap"
  52. >
  53. <Col cols={4}>cols: 4</Col>
  54. <Col cols={2}>cols: 2</Col>
  55. <Col cols={2}>cols: 2</Col>
  56. <Col cols={4}>cols: 4</Col>
  57. </Grid>
  58. </Group>
  59. <Group
  60. header={`换行:wrap="wrap-reverse"`}
  61. footer="没有反转时的顺序为 5-1-2"
  62. >
  63. <Grid
  64. wrap="wrap-reverse"
  65. >
  66. <Col cols={5}>cols: 5</Col>
  67. <Col cols={1}>cols: 1</Col>
  68. <Col cols={2}>cols: 2</Col>
  69. </Grid>
  70. </Group>
  71. <Group
  72. header="等分网格"
  73. footer="超出等分数的将分布到下一行(上面的示例中为 4 等分)"
  74. >
  75. <Grid avg={4}>
  76. <Col>col</Col>
  77. <Col>col</Col>
  78. <Col>col</Col>
  79. <Col>col</Col>
  80. <Col>col</Col>
  81. <Col>col</Col>
  82. <Col>col</Col>
  83. <Col>col</Col>
  84. <Col>col</Col>
  85. </Grid>
  86. </Group>
  87. <Group
  88. header="收缩的列"
  89. footer="Col 指定 shrink 属性后自动收缩到内容所占宽"
  90. >
  91. <Grid>
  92. <Col shrink>Shrink me</Col>
  93. <Col>col</Col>
  94. </Grid>
  95. </Group>
  96. <Group
  97. header="列偏移"
  98. >
  99. <Grid>
  100. <Col cols={3} offset={1}>cols: 3, offset: 1</Col>
  101. </Grid>
  102. </Group>
  103. <h2>网格嵌套</h2>
  104. <Group>
  105. <Grid>
  106. <Col>
  107. <Grid>
  108. <Col>col</Col>
  109. <Col>col</Col>
  110. </Grid>
  111. </Col>
  112. <Col>
  113. <Grid>
  114. <Col>col</Col>
  115. <Col>col</Col>
  116. </Grid>
  117. </Col>
  118. </Grid>
  119. </Group>
  120. <h2>不足 6 时对齐方式</h2>
  121. <Group
  122. header="默认:左对齐"
  123. >
  124. <Grid>
  125. <Col cols={2}>cols: 2</Col>
  126. <Col cols={2}>cols: 2</Col>
  127. </Grid>
  128. </Group>
  129. <Group
  130. header="居中对齐"
  131. >
  132. <Grid align="center">
  133. <Col cols={2}>cols: 2</Col>
  134. <Col cols={2}>cols: 2</Col>
  135. </Grid>
  136. </Group>
  137. <Group
  138. header="右对齐"
  139. >
  140. <Grid align="right">
  141. <Col cols={2}>cols: 2</Col>
  142. <Col cols={2}>cols: 2</Col>
  143. </Grid>
  144. </Group>
  145. <Group
  146. header="左右分布"
  147. footer="justify-content: space-between"
  148. >
  149. <Grid align="between">
  150. <Col cols={2}>cols: 2</Col>
  151. <Col cols={2}>cols: 2</Col>
  152. </Grid>
  153. </Group>
  154. <Group
  155. header="平均分布"
  156. >
  157. <Grid align="around">
  158. <Col cols={2}>cols: 2</Col>
  159. <Col cols={2}>cols: 2</Col>
  160. </Grid>
  161. </Group>
  162. <h2>网格边框</h2>
  163. <Group
  164. header="bordered 属性"
  165. >
  166. <p> Grid 上添加 <code>bordered</code> 结合 <code>avg</code> 属性可以实现九宫格效果。</p>
  167. <p><Link to="/icon">九宫格演示</Link></p>
  168. </Group>
  169. </Container>
  170. );
  171. }
  172. });
  173. export default GridExample;

DemoCopy

Version: 1.0.0

原文: http://t.amazeui.org/#/docs/grid