2011-01-12 40 views
0

當我們在我們的SharePoint 2010網站的根目錄中的_themes文件夾中更改我們的corev4.css時,它顯示在根網址上,但不顯示在任何子網站上,即使我們做了選中複選框「重置所有子網站以繼承系統母版頁設置」。SharePoint 2010 corev4.css更改不反映在子網站上

http://SiteName/_Layouts/ChangeSiteMasterPage.aspx

身體的變化有那麼我們知道,母版被繼承,但設計/ CSS的變化並不在子網站.....

這是爲什麼?

編輯

好吧,我設法讓所有的子網站看起來一樣在我的母版頁添加以下代碼行頭標記和它的工作。

<SharePoint:CssRegistration Name="/_styles/S1.css" runat="server" EnableCssTheming="true" After="true"/> 

但現在當我改變主題的任何我的網站是它更改爲正確的主題,但它忽略了我的cnanges從我S1.css

回答

0

子網站將有自己的_themes文件夾。這就是您可能沒有看到子網站變化的原因。

2007年,core.css曾經在Style Library中,因此從未發生過這個問題。

你可以檢查你的樣式庫是否有你的母版頁引用的CSS?這是您應該在_themes下理想地修改而不是一個CSS的CSS。

+0

「你可以檢查您的樣式庫有一個由你的母版頁中引用的CSS」 - 我在哪裏可以找到呢? – Etienne

4

如果您要在自己的自定義Css文件中將corev4.css樣式的覆蓋文件添加爲替代文件,並將其作爲使用網站設置的備用css文件進行引用(與您可以更改masterpage)

它會比corev4.css晚加載,因爲它會使用你的樣式,而不是開箱即用。

編輯:

添加custom.css到您的網站(即在樣式庫)。然後將該網站指向該文件(該設置稱爲備用css,可在外觀&感覺 - > masterpage中找到)。

在您的自定義Css中,定義具有與corev4.css中相同名稱的樣式。由於sharepoint會引用corev4.css之後引用你的CSS文件,因此這種覆蓋樣式。

所以說你想重寫搜索區域的一些樣式,你可以在你的css中定義一個名爲.s4-search的樣式。通過在此定義規則,corev4.css中同一類中的相同規則將被覆蓋。

+0

如何添加覆蓋到corev4.css? – Etienne

+1

請參閱編輯howto – Colin

+0

感謝科林這確實有效,但現在當我想改變網站的主題時,什麼也沒有發生,爲什麼? – Etienne

0

MasterPage與主題繼承無關。

爲了繼承主題,您需要激活各種發佈功能(至少站點範圍,也可能是Web範圍),然後您將在網站設置=>主題頁面中選擇重置子網站繼承主題。

正如科林所說,修改corev4.css文件並不是理想的選擇,因爲Microsoft Service Pack會更新它並覆蓋您的更改。

+0

我必須去哪些地方設置這些功能?如果在CA中CA的地方? – Etienne

1

母版頁有很多工作要做,他們繼承東陽都是由在SharePoint 2010 SharePoint:CssLink component located in the master.

管理CSS和主題管理是非常困難的。

我在這個話題上花了數小時。

您可以檢查此...

http://mosshowto.blogspot.com/2010/06/sharepoint-2010-registering-css.html

而且也有這一個地方有我想答案艾蒂安:

http://mosshowto.blogspot.com/2009/12/sharepoint-2010-wiki-styles.html

既然苦樂參半主題應用於網站,如果您嘗試修改corev4.css文件,則不會看到任何修改,因爲CSS現在存儲在由SharePoint 2010自動生成,並位於站點文件夾用這種URL的文件:

/_themes/20/corev4-8A0ABD2F.css?ctag=21 

SharePoint站點將重用corev4.css文件僅當您應用默認選項爲SharePoint網站的主題,那就是說,沒有主題。這意味着通過對themable/corev4.css文件應用修改來修改樣式不是一個好主意,因爲對於應用了SharePoint 2010主題的任何網站,這些修改都不可見。 這是值得的除了一種情況下,如果我們要刪除由的外包裝箱版本提供的樣式SharePoint 2010。我們將在後面的實例中說明這種情況。 這導致在外觀的修改樣式自定義文件

希望幫助的手段......

馬克

0

從我的理解,它不是存儲在樣式庫,所以在這種情況下,它將被存儲在14hive中:

不覆蓋sharepoint corev4.css,而是用另一種方式重新編寫它,如果你想用相同的id或class來覆蓋它是好的!只是使用!每個項目後重要,例如:

.S4-td 
{ 
    width:100% !important; 
} 

重要的是忽略了任何其他的CSS!有後=「corev4.css」也會這樣做;)但如果你想明確地說你只想要那種風格,那麼我會把上面的方法!

在自定義CSS使用本上面使用的母版:

<!-- link to our custom css --> 
<SharePoint:CssRegistration ID="CssRegistration1" name="/_layouts/customcss/css/style.css" After="corev4.css" runat="server"/> 

<!-- link to our custom css --> 
<SharePoint:CssRegistration ID="CssRegistration1" name="/Style%20Library/style.css" After="corev4.css" runat="server"/> 

僅供參考,如果你想上面做的,但想知道哪些類和id的是V4比它位於這裏:

C:\ Program Files \ Common Files \ Microsoft Shared \ Web服務器 擴展\ 14 \ TEMPLATE \ LAYOUTS \ 1033 \ STYLES \ corev4.css

你的情況同樣適用上面!

<SharePoint:CssRegistration ID="CssRegistration1" Name="/_styles/S1.css" After="corev4.css" runat="server"/> 

應該做的伎倆;)

https://sharepoint.stackexchange.com/questions/71591/where-is-corev4-css-located-in-sharepoint-designer-2013