XUL_教程/滚动菜单

3 位贡献者:

 

本节讲述滚动菜单并且将本机制运用到其它元素中。

创建一个大菜单

如果创建一个菜单,里面有很多的命令在里面,会发生什么呢?这样所有的项不会一次性在屏幕上显示完。Mozilla提供一种滚动机制允许滚动这些项。

Image:menuscroll1.png

如果可用空间太小,在每个菜单的末端会出现箭头。如果将鼠标移动到箭头上,菜单可以上翻或下翻。如果可用的空间足够大,箭头则不会显示。注意是否出现滚动行为完全依赖于当前的实际情况(theme)。

该行为是完全自动的。你不必特意的去为得到滚动菜单而做些工作。它会应用于菜单栏上的菜单,滚动菜单或菜单列表中。执行它使用arrowscrollbox元素。该元素用来创建带箭头的滚动框。

arrowscrollbox可以被用在任何使用规范框的地方。但不能用于菜单中。通常是用于垂直的框中,并且可能包括有很多元素在里面。可以将它用于下拉列表中,当你不想要它是一个下拉框的时候。

示例 - 按钮的滚动列表

下面的示例说明了如何创建多个按钮的一个滚动列表(需要改变窗口大小以查看箭头按钮):

Example 1 : Source View

<arrowscrollbox orient="vertical" flex="1">
  <button label="Red"/>
  <button label="Blue"/>
  <button label="Green"/>
  <button label="Yellow"/>
  <button label="Orange"/>
  <button label="Silver"/>
  <button label="Lavender"/>
  <button label="Gold"/>
  <button label="Turquoise"/>
  <button label="Peach"/>
  <button label="Maroon"/>
  <button label="Black"/>
</arrowscrollbox>

试一下这个示例,首先它会以完全大小打开。但是,如果缩小窗口的高度,滚动箭头就会出现。将窗口拉大则箭头会消失。

可以设置CSS中arrowscrollboxmax-height属性来限制滚动框的大小,这样使箭头能够一直显示。

因此,arrowscrollbox在菜单和弹出菜单中相当有用。

下回,我们将学习如何添加一些XUL元素的事件句柄.

文档标签和贡献者

标签: 
向此页面作出贡献: ziyunfei, Sheppy, LiD
最后编辑者: ziyunfei,