2011-01-12 41 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