2013-04-04 68 views
1

我已經制作了一個自定義dnn模塊。但是我的模塊中的元素可以從dnn獲取所有樣式。 是否有可能以某種方式做一個CSS復位只在模塊中刪除所有的DNn風格,並只適用於我的?是否可以在dnn模塊中只重置css

回答

1

這是DotNetNuke在加載時的CSS優先級。

DefaultCss: 5 
ModuleCss: 10 
SkinCss: 15 
SpecificSkinCss: 20 
ContainerCss: 25 
SpecificContainerCss: 30 
PortalCss: 35 

DotNetNuke Wiki - Client Resource Management API

號上方拍攝信息是CSS就會被加載順序(5然後10等,默認是100,這意味着它應該最後被加載。

你可以輕鬆地將自己的css文件添加到您的模塊中,或者如果它適合,您可以將它們添加到模塊中的module.css文件中。如果要使用自己的CSS/JS文件,請使用以下代碼

<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %>  
<dnn:DnnJsInclude runat="server" ID="jsBootstrap" FilePath="~/DesktopModules/MyModuleFolder/js/bootstrap.min.js" /> 
<dnn:DnnCssInclude runat="server" ID="cssBootstrap" FilePath="~/DesktopModules/MyModuleFolder/css/bootstrap.min.css" /> 

如果你是新的DotNetNuke的模塊開發,我建議在看從克里斯·哈蒙德(Christoc's DotNetNuke Module Development Template

這個模塊開發模板閱讀他的博客,瞭解如何使用和安裝模板 (Using the new Module Development Templates for DotNetNuke 7

1

我可以給你的最好的建議是「css特異性」。使用第一個答案提供的DNN Wiki鏈接,您可以瞭解DNN如何/何時加載每個.css文件,但是如果您的模塊中出現過多的樣式,則需要了解「css特性」。

遵循DNN使用的加載順序是一個好主意,因爲當你想從你的皮膚中越過你的模塊中的樣式時,有好處。

您可以加載自定義模塊的CSS文件的最後,並可能幫助了不少,但你也應該考慮在更具體的辦法,以防止其他DNN款式出血實現您的風格。

比如你可以將你的模塊html包裝在一個div標籤中,並給它一個my-foo-module類。

<div class="my-foo-module"> 
Module content here 
</div> 

使用你的CSS類,比如你的HTML結構中的命名空間會導致你的模塊樣式優先,它們會在加載的任何其他更通用的風格。我不推薦使用復位CSS文件,除非它的範圍所以它隻影響你的my-foo-module包裝中的元素。

下面是一些好的信息,應該幫助你..

http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/

https://www.google.com/#bav=on.2,or.r_cp.r_qf.&fp=4977db6ad6ac1fe8&q=%22css+specificity%22

而且最後我會說,如果你試圖加載第三方CSS庫像Twitter的引導的你的模塊和你的皮膚正在使用另一個庫,或者根本沒有這個庫,這至少可以說是非常具有挑戰性的。您不想編輯整個引導程序庫,以便爲您的模塊獲得更多的「Css特性」,因此在這種情況下,我無法提供解決方案,因爲我正在尋找一個自己的解決方案。