2011-11-10 98 views
2

已询问in the Mozillazine forums earlier。借用他的描述:XUL标签页标签滚动

我正在开发一个用于Firefox的扩展,并有一个很大的问题。我的扩展程序中有很多选项卡,并且在小尺寸窗口的情况下,某些选项卡不可见。这就是为什么我想放置滚动条,我无法成功。

这里是我的代码

<tabbox flex="1"> 
<tabs> 
<arrowscrollbox allowevents="true" flex="1" class="tabbrowser-arrowscrollbox" orient="horizontal"> 
<tab id="tab_1" label="Tab 1"/> 
<tab id="tab_2" label="Tab 2"/> 
... 
<tab id="tab_9" label="Tab 9"/> 
</arrowscrollbox> 
</tabs> 
<tabpanels flex="1"> 
<tabpanel flex="1" orient="vertical" >Tab 1 content</tabpanel> 
<tabpanel flex="1" orient="vertical" >Tab 2 content</tabpanel> 
... 
<tabpanel flex="1" orient="vertical" >Tab 9 content</tabpanel> 
</tabpanels> 
</tabbox> 

在这种情况下滚动并在选项卡上工作,但点击选项卡上什么都不做,因此不显示对应的选项卡的内容。 如果我从tabs元素中删除arrowscrollbox元素,则不会滚动,并且某些选项卡不可见。

那么任何人都可以提出一个方法,当我将滚动和适当的工作标签?

回答

3

<tab>标签必须是<tabs>标签的直接clildren,否则它将无法正常工作。 <tabs>标记不一定是<tabbox>标记的直接子标记,但是您可以将<arrowscrollbox>标记置于中间。这样它的工作原理:

<tabbox flex="1"> 
    <arrowscrollbox allowevents="true" class="tabbrowser-arrowscrollbox" orient="horizontal"> 
    <tabs> 
     <tab id="tab_1" label="Tab 1"/> 
     <tab id="tab_2" label="Tab 2"/> 
     ... 
     <tab id="tab_9" label="Tab 9"/> 
    </tabs> 
    </arrowscrollbox> 
    <tabpanels flex="1"> 
    <tabpanel flex="1" orient="vertical" >Tab 1 content</tabpanel> 
    <tabpanel flex="1" orient="vertical" >Tab 2 content</tabpanel> 
    ... 
    <tabpanel flex="1" orient="vertical" >Tab 9 content</tabpanel> 
    </tabpanels> 
</tabbox> 
+0

谢谢!此外,我不得不添加以显示箭头 – gadelkareem