PatternSkin CSS Cookbook

Questions and answers on how to customize the default look of Foswiki for your own needs, using style sheets. For configuring page elements, see PatternSkinCustomization.

First Read: How to modify PatternSkin styles

PatternSkin uses 3 style sheets (attached to PatternSkin):

When customizing your Foswiki installation, you can either choose to completely rewrite all css styles, or to selectively override some styles. The latter option is by far less time consuming, but all depends on your graphical wishes.

Changing the color scheme

Have a look at PatternSkinColorSettings.

When you need lots of graphic changes: Rewriting CSS

      * Set FOSWIKI_LAYOUT_URL = %PUBURLPATH%/%SYSTEMWEB%/YourNewTopic/layout.css
      * Set FOSWIKI_STYLE_URL = %PUBURLPATH%/%SYSTEMWEB%/YourNewTopic/style.css
      * Set FOSWIKI_COLORS_URL = %PUBURLPATH%/%SYSTEMWEB%/YourNewTopic/colors.css
 

When you need to make small adjustments: Adding to existing CSS

With CSS you cannot remove already defined classes, you can only add to it, or override existing styles.
Overriding default CSS is done with 3 preference settings: USERLAYOUTURL, USERSTYLEURL, USERCOLORSURL.
      * Set USERLAYOUTURL = %PUBURLPATH%/%SYSTEMWEB%/YourNewTopic/layout.css
      * Set USERSTYLEURL = %PUBURLPATH%/%SYSTEMWEB%/YourNewTopic/style.css
      * Set USERCOLORSURL = %PUBURLPATH%/%SYSTEMWEB%/YourNewTopic/colors.css
 
      * Set USERSTYLEURL = %PUBURLPATH%/%SYSTEMWEB%/YourNewTopic/style.css
 

Instead of setting these preferences in System.DefaultPreferences or Main.SitePreferences, you can set these in your home topic, or in any other topic. Setting style URL preferences in:

User styles are always loaded after Foswiki styles.

The rest of this topic shows examples of small CSS changes.

Recipes

Hide the left bar

See example at: PatternSkinCssCookbookNoLeftBar

Use different fonts

See example at: PatternSkinCssCookbookFonts

I want to change the height of the top bar

The height of the top bar is defined in theme CSS files. The default height in theme_foswiki.css is 90px, in theme_twiki.css it is 64px.

This is the complete style definition to set the height of the top bar:
#patternTopBar,
#patternClearHeaderCenter,
#patternClearHeaderLeft,
#patternClearHeaderRight,
#patternTopBarContentsOuter,
#patternTopBarContents {
   height:64px; /* top bar height; make room for header columns */
   overflow:hidden;
}
Change the number from 64px to your value.

  1. Create a new stylesheet (preferably a 'theme' file (see for instance https://wiki.c2sm.ethz.ch/pub/System/PatternSkin/theme_foswiki.css with above definition in it
  2. Attach the file to a topic
  3. Set the value of macro PATTERNSKIN_THEME to that topic attachment url using %PUBURL%/YourWebName/YourTopicName/your_theme_file.css

No top bar

See example at: PatternSkinCssCookbookNoTopBar

Centered page

See example at: PatternSkinCssCookbookCenterPage

Centered page (with a border around the page)

See example at: PatternSkinCssCookbookCenterPageBorder

Setting EditTablePlugin styles

See example at: PatternSkinCssCookbookEditTableStyle

Style sheet documentation

See PatternSkinCss for documentation of PatternSkin CSS classes spacer