Simon Willison’s Weblog

More body ID fun

Scott Andrew points out another smart trick with body tag ID attributes—selectively showing and hiding navigation elements depending on the current page. This is a really neat idea, but it does lead to a blurring of the lines between structure and presentation—if a navigation section isn’t relevant to a particular page this should be mirrored in the markup rather than worked around by the CSS. That said, there are some nice presentational touches which could be achieved with this technique without sacrificing structural purity, such as highlighting the navigation menu item for the current page in a different colour:

body#aboutpage li#aboutlink {
  background-color: red;
  color: white;
}

<body id="aboutpage">
...
<ul class="subnav">
 <li id="newslink"><a href="/news/">News</a></li>
 <li id="aboutlink"><a href="/about/">About</a></li>
 <li id="contactlink"><a href="/contact/">Contact</a></li>
</ul>
...
</body>

But then I suppose you could argue that the link to the current page shouldn’t be a link at all.

This is More body ID fun by Simon Willison, posted on 21st January 2003.

Next: Anil Dash on diamonds

Previous: More Vellum

Previously hosted at http://simon.incutio.com/archive/2003/01/21/moreBodyIdFun