2011-11-10 186 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