The theme switcher at LAB-Y uses a combination of CSS, PHP, cookies, and xhtml forms to apply different styles to the page. Almost none of the xhtml changes, except to specify which style sheet is selected. Absolutely none of the content changes; a different style sheet is simply applied.
There are currently two themes available for LAB-Y, classic and sky. Each has some known problems.
The classic theme suffers from a rendering shortcoming when the sidebar menu is longer than the content area--the content area does not grow to fill the available space, leaving undesirable empty space between the content and the footer. However, classic is the best supported theme among most modern browsers, so it is the default.
The sky theme does not suffer from the same problem as the classic theme. However, the top tab menu does not render properly in the Opera web browser. Opera users should use the classic theme.
Internet Explorer users may suffer from some shortcomings of their browser when viewing LAB-Y. IE does not render quotes around text encapsulated by the <q> tag, so many of my blog entry titles that are quotes are not rendered as such. IE also does not support some of the generated content I use, such as the #bash prefixes on some <code> encapsulated text or the bullet for menu items in the classic theme.