aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/mozilla/tech/xul/tutorial/stack_positioning/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/mozilla/tech/xul/tutorial/stack_positioning/index.html')
-rw-r--r--files/zh-cn/mozilla/tech/xul/tutorial/stack_positioning/index.html30
1 files changed, 30 insertions, 0 deletions
diff --git a/files/zh-cn/mozilla/tech/xul/tutorial/stack_positioning/index.html b/files/zh-cn/mozilla/tech/xul/tutorial/stack_positioning/index.html
new file mode 100644
index 0000000000..40712df82e
--- /dev/null
+++ b/files/zh-cn/mozilla/tech/xul/tutorial/stack_positioning/index.html
@@ -0,0 +1,30 @@
+---
+title: 定位层(stack堆)
+slug: Mozilla/Tech/XUL/Tutorial/Stack_Positioning
+translation_of: Archive/Mozilla/XUL/Tutorial/Stack_Positioning
+---
+<p>这一节描述如何为堆中的元素进行定位</p>
+<h3 id="堆子元素的位置">堆子元素的位置</h3>
+<p>通常,stack的子元素为与堆的大小匹配会自动扩展。然而,你也可以将其子元素放在指定的位置。例如,如果一个堆有两个按钮子元素,一个房子左边缘20像素,距顶部50像素。第二个可以房子距离左边缘100像素而距离顶部5像素。</p>
+<p>可以通过设置两个属性来指定子元素的位置,水平方向上使用left属性,竖直方向上使用top属性。如果你在stack的子元素中不指定这些属性,就会扩展以匹配堆的尺寸。</p>
+<p>例子1:</p>
+<p><img alt="" style=""></p>
+<table>
+ <tbody>
+ <tr>
+ <td style="width: 568px;">
+ <p>&lt;stack&gt;</p>
+ <p>  &lt;button label="Goblins" left="5" top="5"/&gt;</p>
+ <p>  &lt;button label="Trolls" left="60" top="20"/&gt;</p>
+ <p>  &lt;button label="Vampires" left="10" top="60"/&gt;</p>
+ <p>&lt;/stack&gt;</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+<p>这个堆有三个子元素,每个元素都使用了left和top属性来定位。这里所有的子元素都是按钮,但是并不是所有的子元素必须是同一类型。可以是任意元素,包括格子或者其他堆。</p>
+<p>堆的大小由所有紫云山的位置来决定,总会将大小调整到所有子元素都可见的大小。如果你将left属性设置为400,堆将会有一个400加上元素宽度的宽度。你也可以通过各种样式的不同属性如width。Max-width等来重写这个尺寸。</p>
+<p>也可以通过脚本来调整left和top的值,这样就会使元素移动。堆的优点是当一个指定位置元素位置发生变化时,其他元素不会受到影响。如果在格子中移动子元素,其他元素可能会动态的改它们的位置。</p>
+<p>你也可以将元素重叠起来。当绘制子元素的时候,元素会按照它们出现在堆中的顺序出现。就是说,第一个子元素在最后面。最后一个元素出现在顶部。你可以使用DOM函数来改变子元素的顺序。</p>
+<p>在响应鼠标事件的时候,顶部的元素会最先获取这个事件。也就是说如果有两个按钮重叠起来了,最上面的那个按钮会捕获到鼠标点击的事件。</p>
+<p>下一节描述标签格子(tabboxes),与面板相似但有自己的外观</p>