Style switchers are used to provide users with a choice of layouts, fonts, colors and views they can use to adapt the design to their personal needs. Designs with style switchers are more flexbile, more adaptive and more user-friendly as different visitors can quickly modify the design for their personal convenience.
When offering different layouts and design variations your design may better suit the preferences of your visitors. After all, it is almost impossible to make the design look nice and work properly for everybody. Style switchers are also used in web-sites which emphasize the usability and accessibility in their designs.
Style Switchers Contest
Web designers can achieve significant usability-improvements by adding a simple style switcher to their designs. Style switchers are useful and powerful as they give users a better control of site presentation. However, this technique is almost never used and are sometimes considered to be unnecessary and useless which is simply not true. We would like to change it.
We want to motivate you to figure out how style switchers work and how you can use them to improve your designs.
We’d like you to create beautiful, functional and user-friendly style switchers for your own web-sites. We’ll collect the most creative, usable and elegant solutions and review them in one of our next posts.
The award is Apple Cinema 20 Flat Panel Display with 16.7 million colors, 400:1 contrast ratio, 0.258 mm dot pitch, 16 ms response time and 170-degree viewing angles (see the image below). The winner will be chosen randomly among participants of our contest.
How do I participate?
To participate, just
- design a style switcher for your site,
- integrate it and make sure it works,
- put the plain text “Smashing Magazine” (without a link) on your site. No matter where: it has to be visible and can be deleted afterwards (we need to identify you as the owner of a web-site),
- and post the URL of your site with a style switcher in the comments to this post.
One person may submit at most 3 style switchers. However, the style switchers should be different and should be used on different web-sites.
The site with a style switcher must be online and work after the deadline. Spam will be blacklisted, so the link will never appear in our posts again.
19.06.2008. The comments will be closed at 00:01 on 20.06.2008.
The information provided below is supposed to help you to get started with style switchers.
How does a style switcher work?
When the visitor clicks on style switcher, a script changes the stylesheet on the fly, thus presenting the old content in a new layout. Let’s consider the following, very basic example. Peter Sach uses 4 small icons to indicate different versions of the site design. In each of these cases the background image is different. When a visitor clicks on one of the icons, the design changes.
The site offers four design variations:
A style switcher, or design elements which are supposed to stand for the style switcher (buttons, icons, plain text), can appear everywhere, but not in the footer. Style switcher isn’t really useful it it isn’t seen at all or is seen too late. In most cases icons or plain text are used.
So what can you really do with a style switcher?
1. Let the user choose an optimal font size
font size-style-switchers are probably the most popular style switchers in the design landscape. Your designs can enable visitors to choose an optimal font size which best fits to his or her personal preferences. Of course, users can achieve the same via their browser, however a style switcher is more comfortable. In best case, the font size, once selected, should remains the same on all pages of a given site. To achieve this you need to store font size settings via cookies. Style switcher can do that, but no browser is able to achieve it — unless the visitors use some specific extensions such as Userscripts.
Let’s take a look at some examples of how style switchers for font size adjustment can be integrated in site designs. Often the choice of font size is displayed via a sequence of growing letters, in most cases “a”.
Font size-selection on Clusty.com:
Similar approach is used by Alex King:
Nice visual design of a style-switcher by Splitdadiz.com. The first two options decrease and increase the font size; the third and the fourth one stand for color contrast.
Hand-drawn style-switcher is sometimes also an option worth considering:
The selection of font size can be done via plain text link, too:
Active setting can be highlighted via vibrant colors, e.g. with the red:
…or via vibrant background color, e.g. with the orange:
Sometimes the label for style switcher is A+ or A- :
You can also use visual elements, e.g. icons such as magnifying glass to indicate the font size adjustment:
Buttons can be used as well to indicate the font size adjustment:
Another option is to display two letters in different sizes next to each other. This solution, however, should somehow link to settings adjustments as it is not really clear how one can decrease the font size once it was increased. The icon on the left stands for an alternative color contrast.
Fritz Weisshart has integrated a style switcher right into the navigation menu. That’s reasonable and makes it easy for visitors to find the style switcher.
2. Let the user choose an optimal typeface
Apart from font size settings you can also let the user manually define the typeface he or she would like to use to read your content. Of course, it is necessary to make sure that the settings are stored in cookies, so the visitor doesn’t have to define the setting on every page over and over again.
Unfortunately, only few sites make use of this technique. Mike Davidson lets his visitors manually define the font size and the font for his content. Ultimately, own typeface can be specified as well. Simple and user-friendly. Besides, Mike also offers 4 different design layouts as well as a mobile version of the site. If you want to make sure that your visitors feel that the designer has actually though about their needs, this is a style switcher you should integrate in your designs.
Usability.com.au uses an extra-sidebar at the right hand side to let users define accessibility settings. Among other things one can define whether sans-serif-typeface or a serif-typeface should be used.
3. Let the user choose an optimal text presentation
Font size, font family, what else? Well, when it comes to the presentation of text, one usually has to decide whether the text should be presented left-aligned or justified. One can let the visitors decide it too. One should mention that left-aligned text doesn’t work well in Web, though. Reason: modern browsers don’t have a sophisticated hyphenation algorithm for “parsing” text in a readable manner — the way we know it from print. It may change in the future, though.
Whatdoiknow.org knows how to integrate a style-switcher seamless in the site design. The two rectangles at the left stand for left-aligned text and justified text.
Sometimes one can simply use plain text to provide users with the choice. Visitors from Arabian countries may prefer right-aligned text.
4. Let the user choose an optimal design
What is possible with fonts is, of course, also possible with designs. Designers often present multiple variations of site designs, usually color scheme variations, dark/bright-schemes and design with low and high color contrast. This is very useful from the accessibility point of view. If your web-site is likely to attract a number of senior users you definitely have to integrate a contrast switcher in your design.
Opencomp.de lets users choose a font size and select between a colorful and black-white-design.
Marius Roosendaal has a beautifully designed styleswitcher which is perfectly integrated into the overall site design. Three beautiful themes are available: Sunrise, Night and Day.
An almost minimalistic, but pretty colorful style switcher is presented by Urbanchip, a design agency from Argentina. The site lets its visitors select one of 5 stylesheets for the site. The selected theme is stored in users’ cookies.
Wishtree offers 8 background color variations.
Diego Valobra has two antique styles. In both cases only the background image is dynamically changed. Sometimes, it is enough. The style switcher can be arrange vertically as well.
Werkbot offers a tiny style switcher with four themes — winter, spring, summer and autumn.
DSMagic with free color variations.
5. Let the user choose an optimal contrast
From the usability and accessibility point of view one can present visitors multiple designs, but one should also consider presenting visitors designs with various color contrast. Such switchers are also called contrast switchers.
In most cases, to make sure the content is readable it is enough to have a basic stylesheet with very light text on very dark background. Not every design is optimized for a good color contrast which is where a contrast switcher can help. Roger Johansson has one.
Sas-Foto.de has a color switcher at the bottom of the page. It would be better to place the style switcher somewhere at the top of the page to make it more visible for new visitors.
Popurls.com is probably the king (or queen) of style switchers. The site lets its visitors to define a variety of preferences such as whether the links should be opened in new window and how large the fonts should be. Of course, contrast switcher is also offered. Users can also arrange content blocks and select content layout.
To ensure a high color contrast Dustin Diaz uses green text on dark background.
Merixstudio hides the link to a high contrast version at the right upper corner of the design. The “high contrast” version removes all gradients and uses strong and vibrant colors. The design itself changes slightly, but effectively.
6. Let the user choose an optimal layout
You can also provide your visitors with the option to define the width of the layout and the layout itself. Most used solution is a style switcher between tiny and wide layouts which is supposed to let users with various screen resolutions see the site a way they want to.
Excusemeplease.org with a page layout switcher: the sidebar can be placed on the left or on the right of the content area. How the site looks like is now user’s, not designer’s decision.
Phonophunk has a quite distinctive layout-switcher. The used icons may not be clear enough for new visitors. Here the layout is really flexible. The sidebar can be placed to the right or to the left (two icons in the middle), two other icons stand for a tiny and wide layout.
BestWebGallery provides visitors with three views of the content. The settings are stored via cookies.
ShopComposition has a very unusual and extremely adaptive design layout. Visitors can switch between different views and define the width of the blocks. That is not really a style switcher, but the idea is interesting and can definitely be used for an effective style-switcher.
The layout switcher on Einfach-fuer-alle.de can switch between a standard layout and a print layout (links were translated to English for better readability):
One can also use a <select>-element to let the user make his or her choice:
Not beautiful, but quite switchy: users can change the font-size and the width of the layout:
dfTheme is one of the few themes which have a sophisticated style switcher integrated in the theme. Users can change the font size and the width of the layout. The theme is available for WordPress, Drupal CMS and Joomla CMS.
How do I implement a style switcher?
To embed multiple style sheets in your site you simply need to embed each of them using the <link>-tag and the corresponding relation. That’s not a big secret since designers have been doing it for years — e.g. to integrate a print-layout in the design.
Let’s consider the following example:
<link href="css/layout.css" rel="stylesheet" type="text/css" title="Standard Layout" /> <link href="css/alt-layout.css" rel="alternate stylesheet" type="text/css" title="High Contrast Layout" />
By default the style sheet
layout.css will be used. A style switcher should now make it possible to switch to alternative style sheet
Using any modern web-browser users can manually switch between the themes offered on a web-site (see the screenshot below). However, nobody is actually browsing from site to site looking for a style switchers (well, nobody except of us). Hence when simply included in HTML, alternate stylesheets are very likely to be overlooked. To make sure your visitors are aware of them you need to make them visible in your design.
Finally, an overview of tutorials, how-tos, style-switcher-scripts and resources you can use to develop your style switcher.
Tutorials and Style-Switcher-Scripts For Free Download
- How to create a CSS style switcher
- CSS Style Switcher
- Build your own PHP style sheet switcher
- Stuff and Nonsense: Strategies for CSS Switching (Digital-Web)
- Alternative Style: Working With Alternate Style Sheets (ALA’s classic from 2001)
- Build A Simple Style Switcher in CSS
- Fast CSS Style Switching with PHP
- Style Sheet Switcher (v1.1) (DynamicDrive)
- Mootools Styleswitcher
- Designing a Style Switcher
- Introducing UDASS
- Invasion of the Body Switchers
- Time-based Style Theme Switcher
- Layout Changer
- Build a PHP Switcher (A List Apart)
- Switch stylesheets with jQuery
- Style Switcher in ASP
- Server-Side Dynamic Style Sheet Switcher
- Invasion of the Body Switchers
- CSS Style Switcher Using PHP
- Stylesheet Switching with PHP
- Advanced CSS Style Switcher
- CSS Style Switcher Tutorial
- PHP Styleswitcher: Version 2 Tutorial
- Style Switcher Perl Script
- Styleswitcher – PHP-Modell (German)
- Stichpunkt Style Switcher (German)
Style Switcher with WordPress Plugins
Good luck, folks!