Skip to main content

Functional SharePoint Branding Style guide

As part of our normal delivery on branding projects we usually supply a SharePoint style guide. This document is intended to be used by site owners/developers to support the branding once the project is complete. I have created many variations of this type of document, What I find really helpful for the consumers of this document is to provide some of the following:

Branding Requirements: Example

# Properties
1 Branding will be applied at the site collection level
2 Any Changes to branding (CSS, Images) will automatically get updated to the site. Admin will not have to force or re-apply styles
3 When a sub-site is created, it will automatically have branding applied.
4 All _layout application pages will have branding as well.

As we all know there are many ways to add lipstick to the pig, so what I would suggest is to add the following as well: Make sure you work closely with the site owner and educate them on the pro's and Con's of each method.

Write in the implementation method related to those Requirements and how they will be met: Example

Requirement
# Met
Approach Known Issues
2, 3, 4

Modify Core Server CSS File:
Including Custom CSS at the end of the Core.css file on each one of the web front end servers

This will be applied to all sites, sub-sites, application pages, and My Sites. However if another application needs to have their own branding it will have to override the custom CSS. All default files will need to be backed up in case of service pack updates or upgrades.

*For the first release this would be recommended as the best method.

2, 3, 4

Modify All Core Server Master Pages:
Adding a CSS Reference to all major master page files on the server. Application.master, default.master, simple.master

Same as modify core CSS file. (This approach is not a best practice)
2, 3

Modify Server Default.Master:
Adding a CSS Reference to the server side default.master

This will not modify the system pages located in the _layouts pages.
1, 2, 3, 4*

Custom Site Definitions and Ref. Alternate Style sheet:
Create Custom Site Definitions, reference Custom CSS file in all Default.aspx pages, and Reference an alternate CSS file at the top level site collection.

This method meets all of the required elements but the following is a known issue

*The Alternate Style sheet will have to be applied to every top level site collection and not all system pages will be branded…

1, 2, 3

Custom Site Definitions
Create Custom Site Definitions, reference Custom CSS file in all Default.aspx pages.

This method will not brand system pages.
1, 2, 4

Custom Master Page within UI and Ref. Alternate Style sheet:
Create custom Master page and store it in the Master Page and Page Layouts Gallery with reference to Custom CSS file on the server. At the top level the alternate Style sheet will need to be referenced within the UI.

This approach is the most flexible and is the best practice for brand implementations per site collection. However the custom master page will have to be uploaded and applied for every site collection. When new WSS sites are created the brand will not be applied automatically
1, 2

Custom Master Page within UI
Create custom Master page and store it in the Master Page and Page Layouts Gallery with reference to Custom CSS file on the server.

This approach will not touch any system pages.
4

Custom Theme
Create a custom theme and apply it to each site.

This approach is defined per site and cannot be pushed across all sites. If design is modified it will not be visible until an IISREST and the theme is removed and then applied again.
1, 2, 4

Alternate Style Sheet
Reference the Alternate Style sheet at the top level site collection.

This approach does not get applied when a new site is created.

The last but really useful thing that I started to add to my Style Guide and CSS is Zone Numbers and Comments.

I will use my personal favorite design that I have created as an example: Pimp My Portal...
image 

Zone 1:

Preview Main Classes
image .ms-globalbreadcrumb
image .ms-globallinks,
.ms-globallinks a

Zone 2:

Preview Main Classes
image .ms-globalTitleArea
image

td.ms-titleimagearea
#GlobalTitleAreaImage

image #SRSB

In the Alt. Style sheet I would provide the following comments to match up the zones: This allows an easy way to find the modified classes.

/* Zone 1: Top Navigation Styles */
.ms-globalbreadcrumb{
background-image:none !important;
background-color:transparent !important;
border-bottom: 0px #2d5696 solid;
padding:3px 10px 0px 10px;
}

/* Zone 2: Global Title Area */
.ms-globalTitleArea{
text-align:right;
background-image:none;
background-position:right top;
background-repeat:no-repeat;
background-color: transparent;
height: 63px;
padding-left:10px;
padding-right:0px;
padding-top:1px;
}

/* Zone 2: Search box Positioning */
#SRSB{
    padding-top: 15px;
}

Some of the other parts of the SharePoint Branding Style Guide would include:

  • Approved Logos
  • Approved Corporate Color Palette
  • Image and CSS Locations
  • Installations Instructions
  • List of Modified Images

Comments

Anonymous said…
Hi, great post!
I was wondering if you could tell me what the top 5 design no nos would be for SharePoint master pages- from a technical implementation point of view. For example- banners running down the right hand side of the page etc. SharePoint does seem to have its limitations in master page branding.
thanks

Popular posts from this blog

How To: Hide Left Side Navigation on Home Page

I was recently asked: "How can I hide the side nav bar on the main homepage layout ?? I want to be able to use the side NAV with in the team site etc etc, but I don't want it on the front page.. " There are a couple of ways to do this in SharePoint 2010. If you are using a non-publishing site you can add a Content Editor Web Part to the page and add the following to the HTML Source.
<Style>
body #s4-leftpanel
{
display: none;
}
.s4-ca
{
margin-left: 0px;
}
</style>
Basically the CSS above hides the left navigation Div, and then sets the content area to not have a left margin. Once you are done, simply modify the web part and hide it on the page. If you are using a publishing site for your homepage simply add the same styles specified above to a custom page layout. That way if you have a need for other pages that do not need the left side navigation you can re-use the page layout.

SharePoint 2010 Base CSS Classes

This will be the first of many SharePoint 2010 posts. I will be focusing on a few of the main CSS classes used for SharePoint 2010 Public Beta. As the product becomes more final there might be some changes to the class names but I will be sure to create a new post if that happens. This will be quite a lengthy but it should be helpful. The default CSS given below are just highlights of the full CSS attributes for that class.I will be using a basic team site as my base for the screenshots. Here is a basic structure of the main areas that I will cover.Ribbon RowTable Row Left Site Actions Navigate Up Edit Tab List Browse Page Table Row Right Give Feedback Welcome Menu WorkspaceBody Container Title Row Title Title Logo Title Text / BreadcrumbPage DescriptionSocial Data SeparatorI like It Tags/Notes Top Header 2/Top Links li Static-Selected li Static SearchHelpStatus Bar Container Main A…

Small Calendar for SharePoint 2010 & 2013

First off I would like to apologize for the lack of posts. I have been really busy with my new role as the UX Design lead within Slalom Consulting Boston. I will share more about that in another post. In a previous post Create Really Small Calendar I showcased how to do this for SharePoint 2007. However the 2010 and 2013 calendar views have changed and therefore we cannot use the same method or CSS as 2007.SharePoint 2010 Small Calendar:
SharePoint 2013 Small Calendar:
See video below for a video walk through on how to create a small calendar for SharePoint 2010 and & SharePoint 2013 with just CSS.Per the video above here is the code that I referenced:2010 CSS link reference in Master Page:
<SharePoint:CssRegistration name="<% $SPUrl:~sitecollection/Style Library/smallcalendar.css %>" After="corev4.css" runat="server"/>2010 CSS:
/**** Small Calendar ***/
.ms-acal-item{height: 10px !important;}
.ms-acal-sdiv,
.ms-acal-mdiv,
.ms-…