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

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 Row Table Row Left Site Actions Navigate Up Edit Tab List Browse Page Table Row Right Give Feedback Welcome Menu Workspace Body Container Title Row Title

SharePoint 2010 Content Query for Blog Posts

I hope this post will help many of you feel comfortable with using the Content Query Web Part. In this post I will walk you through the process of creating a content query web part and configuring it to show custom field types. I will also give details on how to use XSLT to stylize and format the data being pulled. I will be using the following scenario as an example. Say that you had a site collection with a top level publishing site. This publishing site would display a the most recent blog posts from all blog sites within its own site collection. To solve this problem we will use a Content Query Web Part and a customized ItemStyle.xsl using XSLT. Please note that the “SharePoint Server Publishing Infrastructure” needs to be enabled at the site collection to display the content query web part. Step 1: Add a Content Query Web Part to Page Navigate to the site that you want the blog posts to show up and click on edit page. Under Editing Tools in the Ribbon, Click on

SharePoint 2013 Responsive Table Columns

I have been wanting to write this one for a while now. It is really amazing how UX is really finding is way into everything that we use and interact with. From Custom applications both mobile and on a desktop to document management or large data visualizations. There is always room for better usability and new concepts. SharePoint lists and library functionality really has not changed much for the past 10 years... I remember back in 2003 when I saw the same table/grid based views of documents and list items that exists in SharePoint 2013. But now we can look at them in a whole new way! In this video blog you will see how to create a responsive CSS table so that when the browser size is reduced it will hide specific columns. However hiding data is not always the right thing to do. What if a user needed those columns to filter on or to use for comparison to another document? Well that is where the custom jQuery Column chooser comes in. It allows you to see what columns are displ