![](/img/trans.png)
[英]Dojo dijit.layout.TabContainer - how to add class to tab?
[英]Is it Possible to Align dijit.layout.TabContainer Tabs to the Right?
我希望選項卡向右浮動,而不出現在內容窗格的右側。 這可能嗎?
tabPosition
屬性沒有這樣的選項(僅top
, bottom
, left-h
和right-h
),但是您只需要執行以下幾行JavaScript即可:
參見jsFiddle上的代碼: http : //jsfiddle.net/phusick/aGCFs/
我的第一個想法是重寫dijit CSS以使選項卡與text-align:right
,但這不起作用,因為選項卡的domNodes是div
子級,其width
超過50000px,因此選項卡將不可見。 為了解決這個問題,每次調整標簽容器的大小時,也應該設置left
屬性(通過dojo.connect
):
var alignTabs = function(tabContainer) {
var tabListNode = tabContainer.tablist.domNode;
var tabStripNode = dojo.query("div.nowrapTabStrip", tabListNode)[0];
var tabListCoords = dojo.coords(tabListNode);
var tabStripCoords = dojo.coords(tabStripNode);
var tabStripLeft = (-tabStripCoords.w + tabListCoords.w) + "px";
dojo.style(tabStripNode, "textAlign", "right");
dojo.style(tabStripNode, "left", tabStripLeft);
}
var tabContainer1 = dijit.byId("tabContainer1");
alignTabs(tabContainer1);
dojo.connect(tabContainer1, "resize", function() {
alignTabs(tabContainer1);
});
它肯定需要一些微調,但是您有一個主意。 因為這只是一個臨時代碼,所以我建議將TabContainer
和TabController
類子類化或擴展它們(通過dojo.extend
|| dojo.mixin
)來烘焙該功能。
另外,請注意,對於並非所有選項卡都適合一行的情況,我沒有測試這是否會破壞ScrollingTabController
的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.