1# ColumnSplit 2 3The **ColumnSplit** component lays out child components vertically and inserts a horizontal divider between every two child components. 4 5> **NOTE** 6> 7> This component is supported since API version 7. Updates will be marked with a superscript to indicate their earliest API version. 8## Child Components 9 10Supported 11 12This component limits the height of its child components through dividers. During initialization, the divider positions are calculated based on the height of its child components. After initialization, changes to the height of the child components do not take effect. Still, the space occupied by the child components can be changed by dragging the dividers between them. 13 14After initialization, if, due to dynamic changes to the [margin](ts-universal-attributes-size.md#margin), [border](ts-universal-attributes-border.md#border), or [padding](ts-universal-attributes-size.md#padding) attributes, the size of the child components is greater than the allowable distance between adjacent dividers, dividers cannot be dragged to adjust the height of the child components. 15## APIs 16 17ColumnSplit() 18 19## Attributes 20 21### resizeable 22 23resizeable(value: boolean) 24 25Sets whether the divider can be dragged. 26 27**Atomic service API**: This API can be used in atomic services since API version 11. 28 29**System capability**: SystemCapability.ArkUI.ArkUI.Full 30 31**Parameters** 32 33| Name| Type | Mandatory| Description | 34| ------ | ------- | ---- | ------------------------------------ | 35| value | boolean | Yes | Whether the divider can be dragged.<br>Default value: **false**| 36 37### divider<sup>10+</sup> 38 39divider(value: ColumnSplitDividerStyle | null) 40 41Margin of the divider. 42 43**Atomic service API**: This API can be used in atomic services since API version 11. 44 45**System capability**: SystemCapability.ArkUI.ArkUI.Full 46 47**Parameters** 48 49| Name| Type | Mandatory| Description | 50| ------ | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 51| value | [ColumnSplitDividerStyle](#columnsplitdividerstyle10) \| null | Yes | Margin of the divider.<br>Default value: **null**, indicating that the top and bottom margins of the divider are 0. **DividerStyle**: distance between the divider and the child component above or below it.| 52 53## ColumnSplitDividerStyle<sup>10+</sup> 54 55**Atomic service API**: This API can be used in atomic services since API version 11. 56 57| Name | Type | Mandatory| Description | 58| ----------- | ------------- | ---- |--------------------------| 59| startMargin | [Dimension](ts-types.md#dimension10) | No | Distance between the divider and the child component above it.<br>Default value: **0**| 60| endMargin | [Dimension](ts-types.md#dimension10) | No | Distance between the divider and the child component below it.<br>Default value: **0**| 61 62> **NOTE** 63> 64> Similar to [RowSplit](ts-container-rowsplit.md#rowsplit), the divider of **ColumnSplit** can change the height of the upper and lower child components, but only to the extent that the resultant height falls within the maximum and minimum heights of the child components. 65> 66> Universal attributes such as [clip](ts-universal-attributes-sharp-clipping.md#clip) and [margin](ts-universal-attributes-size.md#margin) are supported. If **clip** is not set, the default value **true** is used. 67 68 69## Example 70 71```ts 72// xxx.ets 73@Entry 74@Component 75struct ColumnSplitExample { 76 build() { 77 Column(){ 78 Text('The secant line can be dragged').fontSize(9).fontColor(0xCCCCCC).width('90%') 79 ColumnSplit() { 80 Text('1').width('100%').height(50).backgroundColor(0xF5DEB3).textAlign(TextAlign.Center) 81 Text('2').width('100%').height(50).backgroundColor(0xD2B48C).textAlign(TextAlign.Center) 82 Text('3').width('100%').height(50).backgroundColor(0xF5DEB3).textAlign(TextAlign.Center) 83 Text('4').width('100%').height(50).backgroundColor(0xD2B48C).textAlign(TextAlign.Center) 84 Text('5').width('100%').height(50).backgroundColor(0xF5DEB3).textAlign(TextAlign.Center) 85 } 86 .borderWidth(1) 87 .resizeable(true) // The divider can be dragged. 88 .width('90%').height('60%') 89 }.width('100%') 90 } 91} 92``` 93 94 95