1e41f4b71Sopenharmony_ci# stack
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci堆叠容器,子组件按照顺序依次入栈,后一个子组件覆盖前一个子组件。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **说明:**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> 该组件从从API version 4 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci## 子组件
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci支持。
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci## 属性
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci| 名称    | 类型     | 默认值  | 必填   | 描述                                       |
18e41f4b71Sopenharmony_ci| ----- | ------ | ---- | ---- | ---------------------------------------- |
19e41f4b71Sopenharmony_ci| id    | string | -    | 否    | 组件的唯一标识。                                 |
20e41f4b71Sopenharmony_ci| style | string | -    | 否    | 组件的样式声明。                                 |
21e41f4b71Sopenharmony_ci| class | string | -    | 否    | 组件的样式类,用于引用样式表。                          |
22e41f4b71Sopenharmony_ci| ref   | string | -    | 否    | 用来指定指向子元素的引用信息,该引用将注册到父组件的$refs 属性对象上。 |
23e41f4b71Sopenharmony_ci
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci## 事件
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci| 名称                 | 参数                                | 描述          |
28e41f4b71Sopenharmony_ci| ------------------ | --------------------------------- | ----------- |
29e41f4b71Sopenharmony_ci| click              | -                                 | 点击动作触发该事件。  |
30e41f4b71Sopenharmony_ci| longpress          | -                                 | 长按动作触发该事件。  |
31e41f4b71Sopenharmony_ci| swipe<sup>5+</sup> | [SwipeEvent](js-lite-common-events.md) | 组件上快速滑动后触发。 |
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci## 样式
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci| 名称                                 | 类型                                       | 默认值   | 必填   | 描述                                       |
37e41f4b71Sopenharmony_ci| ---------------------------------- | ---------------------------------------- | ----- | ---- | ---------------------------------------- |
38e41f4b71Sopenharmony_ci| width                              | &lt;length&gt;&nbsp;\|&nbsp;&lt;percentage&gt;<sup>5+</sup> | -     | 否    | 设置组件自身的宽度。<br/><br/>未设置时组件宽度默认为0。        |
39e41f4b71Sopenharmony_ci| height                             | &lt;length&gt;&nbsp;\|&nbsp;&lt;percentage&gt;<sup>5+</sup> | -     | 否    | 设置组件自身的高度。<br/><br/>未设置时组件高度默认为0。        |
40e41f4b71Sopenharmony_ci| padding                            | &lt;length&gt;                           | 0     | 否    | 使用简写属性设置所有的内边距属性。<br/>&nbsp;&nbsp;该属性可以有1到4个值:<br/>-&nbsp;指定一个值时,该值指定四个边的内边距。<br/>-&nbsp;指定两个值时,第一个值指定上下两边的内边距,第二个指定左右两边的内边距。<br/>-&nbsp;指定三个值时,第一个指定上边的内边距,第二个指定左右两边的内边距,第三个指定下边的内边距。<br/>-&nbsp;指定四个值时分别为上、右、下、左边的内边距(顺时针顺序)。 |
41e41f4b71Sopenharmony_ci| padding-[left\|top\|right\|bottom] | &lt;length&gt;                           | 0     | 否    | 设置左、上、右、下内边距属性。                          |
42e41f4b71Sopenharmony_ci| margin                             | &lt;length&gt;&nbsp;\|&nbsp;&lt;percentage&gt;<sup>5+</sup> | 0     | 否    | 使用简写属性设置所有的外边距属性,该属性可以有1到4个值。<br/>-&nbsp;只有一个值时,这个值会被指定给全部的四个边。<br/>-&nbsp;两个值时,第一个值被匹配给上和下,第二个值被匹配给左和右。<br/>-&nbsp;三个值时,第一个值被匹配给上,&nbsp;第二个值被匹配给左和右,第三个值被匹配给下。<br/>-&nbsp;四个值时,会依次按上、右、下、左的顺序匹配&nbsp;(即顺时针顺序)。 |
43e41f4b71Sopenharmony_ci| margin-[left\|top\|right\|bottom]  | &lt;length&gt;&nbsp;\|&nbsp;&lt;percentage&gt;<sup>5+</sup> | 0     | 否    | 设置左、上、右、下外边距属性。                          |
44e41f4b71Sopenharmony_ci| border-width                       | &lt;length&gt;                           | 0     | 否    | 使用简写属性设置元素的所有边框宽度。                       |
45e41f4b71Sopenharmony_ci| border-color                       | &lt;color&gt;                            | black | 否    | 使用简写属性设置元素的所有边框颜色。                       |
46e41f4b71Sopenharmony_ci| border-radius                      | &lt;length&gt;                           | -     | 否    | border-radius属性是设置元素的外边框圆角半径。            |
47e41f4b71Sopenharmony_ci| background-color                   | &lt;color&gt;                            | -     | 否    | 设置背景颜色。                                  |
48e41f4b71Sopenharmony_ci| opacity<sup>5+</sup>               | number                                   | 1     | 否    | 元素的透明度,取值范围为0到1,1表示为不透明,0表示为完全透明。        |
49e41f4b71Sopenharmony_ci| display                            | string                                   | flex  | 否    | 确定一个元素所产生的框的类型,可选值为:<br/>-&nbsp;flex:弹性布局。<br/>-&nbsp;none:不渲染此元素。 |
50e41f4b71Sopenharmony_ci| [left\|top]                        | &lt;length&gt;&nbsp;\|&nbsp;&lt;percentage&gt;<sup>6+</sup> | -     | 否    | left\|top确定元素的偏移位置。<br/>-&nbsp;left属性规定元素的左边缘。该属性定义了定位元素左外边距边界与其包含块左边界之间的偏移。<br/>-&nbsp;top属性规定元素的顶部边缘。该属性定义了一个定位元素的上外边距边界与其包含块上边界之间的偏移。 |
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_ci>  **说明:**
53e41f4b71Sopenharmony_ci>
54e41f4b71Sopenharmony_ci> 由于绝对定位不支持设置百分比,所以也不支持stack组件的子组件上设置margin。
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ci## 示例
58e41f4b71Sopenharmony_ci
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci```html
61e41f4b71Sopenharmony_ci<!-- xxx.hml -->
62e41f4b71Sopenharmony_ci<stack class="stack-parent">
63e41f4b71Sopenharmony_ci  <div class="back-child bd-radius"></div>
64e41f4b71Sopenharmony_ci  <div class="positioned-child bd-radius"></div>
65e41f4b71Sopenharmony_ci  <div class="front-child bd-radius"></div>
66e41f4b71Sopenharmony_ci</stack>
67e41f4b71Sopenharmony_ci```
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci```css
71e41f4b71Sopenharmony_ci/* xxx.css */
72e41f4b71Sopenharmony_ci.stack-parent {
73e41f4b71Sopenharmony_ci  width: 400px;
74e41f4b71Sopenharmony_ci  height: 400px;
75e41f4b71Sopenharmony_ci  background-color: #ffffff;
76e41f4b71Sopenharmony_ci  border-width: 1px;
77e41f4b71Sopenharmony_ci  border-style: solid;
78e41f4b71Sopenharmony_ci}
79e41f4b71Sopenharmony_ci.back-child {
80e41f4b71Sopenharmony_ci  width: 300px;
81e41f4b71Sopenharmony_ci  height: 300px;
82e41f4b71Sopenharmony_ci  background-color: #3f56ea;
83e41f4b71Sopenharmony_ci}
84e41f4b71Sopenharmony_ci.front-child {
85e41f4b71Sopenharmony_ci  width: 100px;
86e41f4b71Sopenharmony_ci  height: 100px;
87e41f4b71Sopenharmony_ci  background-color: #00bfc9;
88e41f4b71Sopenharmony_ci}
89e41f4b71Sopenharmony_ci.positioned-child {
90e41f4b71Sopenharmony_ci  width: 100px;
91e41f4b71Sopenharmony_ci  height: 100px;
92e41f4b71Sopenharmony_ci  left: 50px;
93e41f4b71Sopenharmony_ci  top: 50px;
94e41f4b71Sopenharmony_ci  background-color: #47cc47;
95e41f4b71Sopenharmony_ci}
96e41f4b71Sopenharmony_ci.bd-radius {
97e41f4b71Sopenharmony_ci  border-radius: 16px;
98e41f4b71Sopenharmony_ci}
99e41f4b71Sopenharmony_ci```
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ci![zh-cn_image_0000001380789188](figures/zh-cn_image_0000001380789188.png)
102