Are we dealing with a MOSS or WSS site collection in this scenario? If it's MOSS, you have the option to apply an alternate style sheet that will take precedence over the default styling. We typically store these custom style sheets in a folder within the Style Library at the root of the site collection, specifying the URL as
/Style Library/custom/ourStyles.css
.
To access this setting, starting from the site collection root, navigate to
Site Actions->Site Settings->Modify All Site Settings
, then select the
Master Page
link under the
Look and Feel
section. The specific setting can be found towards the bottom of the page.
An important point to note is that we encountered an issue regarding permissions for the Style Library when using this method - all users needed to have read access in order to view the custom styles. Otherwise, only those editing the styles could see the changes.
A similar strategy can be employed with WSS, although it is more complex. The object model allows for the application of an alternate style sheet URL, but individual sites may need to be addressed separately in the code. This process could involve utilizing a PowerShell script or another program to iterate through the sites, following a structure like this:
SPSite theCollection = new SPSite("http://sitecollectionUrl");
foreach (SPWeb aWeb in theCollection.AllWebs) {
aWeb.AlternateCssUrl = "path to custom style sheet";
aWeb.Update();
aWeb.Dispose();
}
theCollection.Dispose();