2012-10-26 154 views
1

我正在嘗試使用帶有修改的dijit主題的dijit/layout/TabContainer。我需要修改TabContainer選項卡的某些樣式,例如選項卡的填充,粗體等。但是,使用TabContainer的頁面特定的樣式命令不起作用。Dojo Dijit造型問題

這段代碼位於我主頁的CSS文件中。

.myTheme .homeTabContent 
{ 
    font-weight: bold !important; 
} 

.myTheme .homeTabContent .dijitTab /* The .dijitTab is the original CSS class of the tab*/ 
{ 
    font-weight: bold !important; 
    padding-left: 3px !important; 
    padding-right: 3px !important; 
} 

儘管有!important,但選項卡的填充和字體權重保持不變。在myTheme中編輯TabContainer CSS文件不是一個實際的解決方案,因爲我只會弄亂不同頁面的樣式。發生的是,當我使用樣式加載頁面時,我的命令似乎在瞬間工作,但是當TabContainer完成加載時,所有這些都被撤消。任何人都可以告訴我爲什麼或爲我提供解決方案?提前致謝!

+0

我在這樣的問題中的第一步我檢查Firebug中的行爲不當節點(或IE的對等節點),看看哪些樣式被應用,以及什麼會覆蓋什麼。 – usethe4ce

+0

我在Firebug做過。加載過程中正確的CSS會被應用。但加載完成後會消失。在Firebug上,它從不會從主頁的CSS文件中提到CSS。 –

+0

那麼如何發佈您的HTML? – usethe4ce

回答

1

這是一個工作解決方案。 http://jsfiddle.net/oamiamgod/rd58M/

我已經將類myTheme包含到body標籤。像這樣

<body class="claro myTheme"> 

我的英語不夠好,但我會盡量解釋。

如果你這樣寫.myTheme .homeTabContent .dijitTab意味着homeTabContent類的元素的CSS必須保持有類myTheme

喜歡這個

<body class="claro myTheme"> 
    <div class="homeTabContent"> 
     <div class="dijitTab"></div> 
    </div> 
</body> 

一些元素內,但如果你寫的CSS這樣.myTheme.homeTabContent.dijitTab (沒有空間)它將是

<div class="myTheme homeTabContent dijitTab"></div>