Menu Search
Jump to the content X

Style Switchers Are Back: Ideas, Examples and a Contest


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 Link

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.

Our goal
We want to motivate you to figure out how style switchers work and how you can use them to improve your designs.

Your task
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

  1. design a style switcher for your site,
  2. integrate it and make sure it works,
  3. 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),
  4. 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? Link

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 Sach2 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 Link

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 Userscripts6.

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.com7:


Similar approach is used by Alex King9:


Nice visual design of a style-switcher by Splitdadiz.com11. 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 Weisshart22 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 Link

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 Davidson24 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.

Screenshot25 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 Link

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.org28 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 Link

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.de31 lets users choose a font size and select between a colorful and black-white-design.


Marius Roosendaal33 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 Urbanchip35, 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.


Wishtree37 offers 8 background color variations.


Diego Valobra39 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.


Werkbot41 offers a tiny style switcher with four themes — winter, spring, summer and autumn.


DSMagic43 with free color variations.


5. Let the user choose an optimal contrast Link

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 Johansson45 has one.


Sas-Foto.de47 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.com49 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 Diaz51 uses green text on dark background.


Merixstudio53 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 Link

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.org55 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.


Phonophunk57 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.


BestWebGallery59 provides visitors with three views of the content. The settings are stored via cookies.


ShopComposition61 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.de63 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:


dfTheme67 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? Link

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 alt-layout.css

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.

Style sheets can be chosen with Firefox

And to make a style switcher visible you need to use icons, buttons or at least plain text. And, of course, a switcher script, e.g. JavaScript or PHP. However, you can achieve the same with ASP or Perl. It is also reasonable to consider using a cookie to ensure the setting will be stored and applied to all pages of a given web-site. We present some of the “ready-to-use”-solutions in the reference section, at the end of the post.

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 Link

Style Switcher with WordPress Plugins Link

Good luck, folks!

Footnotes Link

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88
  89. 89
  90. 90
  91. 91
  92. 92
  93. 93
  94. 94
  95. 95
  96. 96
  97. 97
  98. 98
  99. 99

↑ Back to top Tweet itShare on Facebook

Sven is the co-founder and former CEO of Smashing Magazine. He's now writing at his Conterest Blog, where he focuses on blogs, content strategy and publishing — all in German.

  1. 1

    excellent article, thanks for the link

  2. 2

    i’ve no idea how to do the CSS thingy yet :( but I cannOT wait to see the entries for this one!! I’m sure the designers will astound us :D. wishing all the best to the ppl who enter :}!!!

  3. 3

    June 5, 2008 6:33 am

    Too much customizations are for simple presentations of informations too overloaded. I don’t like such websites, except some start-websites like iGoogle.

  4. 4

    What a juicy prize. Wish I had my site up and running now. I can see how designers may overlook the use of style switchers under premises like “if it isn’t broke, don’t fix it” and “a good design needs no plan B”. I myself am between these and those for style switchers. Contest should turn out interesting results, and help clear that up.

    nice work Smashing!

    Yaco Roca

  5. 5

    I have one question: Do I have to put the style switcher on a real website with users/visitors and more or can it be a (test) site only for this contest (so there will be content and all this, but the site is not made for any special topic or something)?

  6. 6

    Hmmm… I guess we’ll see 2 types of style-switchers:
    1) Server-based and very different types of styles (complete rebuild of HTML + CSS).
    2) Client-based (css or js), but bit very limited variations in the styles them selfs.

    What I would like to see is some great designs by different CSS stylesheets while still using the same HTML. I’ll try to post something like this :D

  7. 7

    Vitaly Friedman & Sven Lennartz

    June 5, 2008 6:49 am

    @SonicHedgehog: the style switcher should be put on a real web-site with users/visitors, and not on a test-page.

  8. 8

    Am I the only person that has a problem with the changing text size switch facility that you find on loads of sites. Last time a looked my browser did that for me so why do numerous sites implement countless different ways to do the same thing?

  9. 9

    that screen would match great with my new laptop ;) im in.

  10. 10


    June 5, 2008 7:18 am

    amazing, smashing rulez ;)

  11. 11

    Good thing I already have one in Are You Design This is Kelvin Luck’s jQuery based stylesheet switcher. With multiple stylesheets and the “position” and “visibility” css properties, I can switch content without changing the html.

  12. 12 – I whole heartedly agree!

  13. 13

    I have one question too: is it mandatory to have one and only one template dressed with several styles or is it possible to have a “template switcher”. Example: Template switcher.

  14. 14 — Agreed for a simple blogs these sorts of customizations are just too much. No one coming to your blog is going to change every one of these things. You can’t switch around the page layout of a magazine article – why would you choose to do so on a web article? I think all these options may complicate and clutter what could be a beautiful design. The only thing these types of customizations are good for are for a user to customize their profile pages on community sites, or start pages (like igoogle, netvibes, etc).

  15. 15

    Chris Papadopoulos

    June 5, 2008 8:15 am

    The job of the designer is to choose the optimal way of displaying content.

    Making sites more complicated by having the user have an array of typeface and other options is bad practice in my opinion.

    How about this radical concept?

    * use 1em text size so that your text is by default legible to people

    * use text color that has a high contrast with the background so users can read it just fine without having to choose another option
    * get rid of distracting backgrounds that increase loading times

    PS: When did SM get rid of allowing commenters to post their website url on here? I’ve found many neat sites through the comments here. Seems like not allowing that goes against the spirt of the web.

  16. 16

    All the Peter Sach site does is change backgrounds. 0_o

  17. 17 is a good site that allows you to switch the style of the web design from “day” to “night”. Very clever and beautiful use of web design.

  18. 18

    I just saw that it has to be placed on a live site, this will probly give me the push that i needed to my new blog design online o.o

    *back to codingboard*

  19. 19

    Pretty basic switch, changes according to the time of day, but counts a ‘theme’ change really. Not too drastic, but a nice change for visitors when they come at different times :)

  20. 20

    Karine Delvare

    June 5, 2008 9:09 am

    My weblog has a style switcher: the style changes itself every month, but you can ask for another month’s style if you wish, in the “Styles” menu on the left, where I added (Smashing Magazine). This is a french website, I hope I am still allowed to participate :)

  21. 21

    Please, you think users care. They don’t want to mess around trying to make your site viewable. You should just create one design with a good balance of aesthetics and usability. The first example is pretty naive, 4 designs which are basically the same with a different background graphics. Seriously…

    A user who can’t see the text isn’t going to be searching for some magic button to make it more accessible they will just leave.

  22. 22

    Vitaly Friedman & Sven Lennartz

    June 5, 2008 10:01 am

    @Mihen: take any web-site and conduct basic usability tests, for instance among senior web users. You’ll quicky find out that they usually prefer high contrast content and large font size which may be hard to combine with “balanced” and “aesthetic” design which would please everybody. Besides, many users simply don’t know how to increase the font size. Giving them an opportunity to do so easily and intuitively doesn’t necessarily mean that you clutter your design. Take a look at the examples above, there are many clean solutions which you ca use to literally improve the user experience of your visitors.

  23. 23

    nice! i wish i had time for this kind of contest.

  24. 24

    I use a styleswitcher for the “preview” feature at my pattern site; DinPattern.

    When the user clicks preview, the tiled pattern paints the page to get a better idea of how it will look before downloading.

    “Smashing Magazine” added in the footer.

  25. 25


  26. 26

    With this article you’re pratically letting an unexperienced user design the site he is viewing. Unexperienced web users make mistakes. You’re practically eliminating the services of WEB AGIENCIES. NOT GOOD !

  27. 27

    Vitaly Friedman & Sven Lennartz

    June 5, 2008 11:30 am

    @stfalx: we are letting designers let inexperienced users adapt a site to their needs. Yes, inexperienced users make mistakes, but not if the designer has taken care of alternative presentations which perfectly consider users’ needs.

  28. 28

    Hello all

    I`ll provide my Site for this Contest.

    My StyleSwitcher is implemented as an ASP.NET ServerControl for easier implementation in exising Project and reusiabilty Reasons.
    This implementation uses a combination of client- and serverside logic to switch and persists the style.
    Both (server and client) uses the same cookie to save the state.
    It works with- oder without Javascript, Javascript is an option here.

    This is because of the behaviour from the GET-Links and the Javascript Code in there.
    (The DropDownList) will only run with Javascript, except there where pushed somewhere a Button that posts to the server.

    Somewhat can implemented with ease also with other serverside architecture like PHP, ….. (StyleSwitcher) (Implementation in a existing ASP.NET Project and some Infos about)

    Regards, Peter Bucher

  29. 29

    For Completeness:

    I also included a Feature that uses client callbacks where invokes a browser-side download of another stylesheet (Nothing new),
    but the server-part is only sending a part of the whole style – all x seconds (Or another interval) more and more.

    So, you can see how a style slowly appling to your Html, somewhat interessting, i think :-)

  30. 30

    Question… is there a vector file you can give us for incorporating the Smashing logo into our site? ;)


↑ Back to top