Muffinresearch Labs by Stuart Colville

Classes on the body tag | Comments (5)

Posted in CSS on 16th June 2005, 12:26 am by Stuart

In Doug Bowman’s second @media presentation he mentioned utilising classes on the body element to be able to affect the layout of the entire page. This simple technique uses descendant selectors in such a way that an entire page layout can be altered by adding or changing a class applied to the body tag.

For example visualise the following (simplified) stylesheet


  #maincontent {
    float : left
  }

  #secondarycontent  {
    float  : right
  }

  .home #maincontent {
    float  : right
  }

  .home #secondarycontent  {
    float  : left
  }

Assuming maincontent and secondarycontent are two divs, by adding the class ‘home’ to the body tag (<body class=”home”>), the two columns could be reversed. When you think about it, this method can be used to radically change the entire site layout with only one change to the markup and without requiring extra stylesheets. It’s this exact method used to alter the look of each of the sections on Doug’s site http://www.stopdesign.com

Post Tools

Comments: Add yours

1. On June 16th, 2005 at 6:38 am Mike said:

That’s pretty interesting. I might have a play around with this idea at the weekend.

2. On June 16th, 2005 at 1:49 pm Tim said:

I would hasten to add, this method really comes into it’s own when you utilise semantic naming techniques (use #secondaryContent instead of #rightColumn)…

Swapping core elements around becomes really easy. For instance, if you want subnavigation on the right hand side on one page but on the left hand side in another.

Like I said: Ace!

3. On June 18th, 2005 at 10:34 am Tim said:

You really need to sort out your carriage return replacement in the comments, Stupot. It really gets on my wabs!

4. On June 20th, 2005 at 1:09 am Stuart said:

Yep I’d been meaning to get round to that.

Linebreaks are now automagic!

5. On July 6th, 2006 at 5:11 pm Dynamic Semantic Classes · plaintxt.org said:

[...] I won’t claim any of this is ingenious or even original (to me—thanks, Andy) as many, many others have posted on this very topic (see Classes on the body tag and/or Dynamic ID for the <body> for just a couple examples). [...]







XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Standalone mac battery charger|(0)

Got a spare mac battery? I’ve often wondered why up until now no-one’s produced a standalone charger so that you can charge batteries without having to plug them into the mac. Fortunately Fastmac.com have produced a standalone charger that allows you to do just that. and it’s compatible with iBooks, Powerbooks, macbooks and Macbook Pros. It’s also 110/200v. Exactly what I was looking for!

Django Admin Ominigraffle Stencil|(0)

Colleague Alex Lee has created a nice stencil for omingraffle with the Django Admin UI components, perfect for wireframing customised admin screens. For more details and to download the stencil see Alex’s Blog csensedesign.co.uk

Photos on Flickr

© Copyright 2004-08 Stuart Colville, all rights reserved. May contain traces of Muffin. Powered by WordPress. Hosting by 1&1 This page was baked in 0.715s.