5ThirtyOne

Derek Punsalan

Media Temple

How-to create a "Table of Contents" Navigation

Quite a number of months back I released the Foliage Mod WordPress theme which included a Table of Contents (TOC) styled navigation block in the header. A recent post on ScriptyGoddess prompted me to upload the download & tutorial post straight away which is what you find here.

TOC Screenshot

In as little as 8 lines of HTML, and 5 lines of CSS, the TOC Navigation block can be duplicated on your own site ready for even more styling.

Sound HTML structure

Of all the possible options to choose from, ul and ol lists are a definite favorite and one of the most useful structural markup elements available. The TOC Navigation begins as an unstyled ul unordered list:

<ul id="toc">
<li><span>Chapter One</span> <a href="#">Link</a><br /></li>
<li><span>Chapter Two</span> <a href="#">Link</a><br /></li>
<li><span>Chapter Three</span> <a href="#">Link</a><br /></li>
<li><span>Chapter Four</span> <a href="#">Link</a><br /></li>
<li><span>Chapter Five</span> <a href="#">Link</a><br /></li>
<li><span>Chapter Six</span> <a href="#">Link</a><br /></li>
</ul>

Sans CSS, the unordered list retains the familiarity of a standard list of links as seen with this sample page.

CSS = Table of Contents

Using a few simple lines of CSS + a single image file, that mundane HTML list transforms into a much more familiar navigation structure similar to that found towards the front of a book or sleeve.

ul#toc {list-style:none;width:320px;}
#toc li {background:url(dot.gif) repeat-x 0 0.85em;}
#toc li a {float:left;background:#FFF;padding: 0 4px 0 0;}
#toc li span {float:right;background:#FFF; padding 0 0 0 4px;}
#toc li br {clear:both;}

With a short snippet of CSS, we remove the list-items, apply a background-image to each item, float navigation links to the left & apply a background-color to cover the background-image beneath, float the description to the right & apply a background-color to cover the background-image on the right, and finally clear each item with the br tag.

Download

The entire basic structure of and styling should take no longer than a few minutes, after which most of your time may be properly spent styling the navigation block to match your site.

HTML/CSS Table of Contents Navigation
download package

Check out a working sample or download the code pack directly above. Feel free to use the code however you please, just don’t eat it.

Get an Online Degree in Web Design

Find out all the tips and tricks of  web authoring with an online web design degree. Worried about how going to online college will affect your schedule? Put all those worries behind you, since learning online is the best way to further your education AND keep up with real life.

Backblaze unlimited secure online backups Find out what Backblaze can do for your online backups

35 Comments • RSS

  1. Andre says:

    Ooo, that’s hawt.

  2. Derek says:

    BTW, I want to marry and make love to your new design. Bravo!

    OK. Time to get a restraining order! J/k. I stopped by your page and checked out some of your posts. You do definitely like to use those smilies.

  3. Davis says:

    Awesome! I remember wondering how to do that when I tried Foliage Mod out a while back.

    BTW, I want to marry and make love to your new design. Bravo!

  4. John says:

    Thanks Derek, this may be pretty useful in the future. Just saw this nice new layout btw.Props to you.

  5. Sam says:

    That’s a pretty creative way to lay out navigation! Thanks for the tut.

  6. [...] How-to create a “Table of Contents” Navigation, Beispiel TOC Navigation Tags: CSS, Tips « Redesign der PC Professionell [...]

  7. Oli says:

    Derek,

    I’ve just written a slightly different version that doesn’t rely on breakline tags to function and uses an ordered list — as you should be. The HTML is cleaner but the CSS is a little more complex.

    It also supports nested titles (as you would probably expect from a real table of contents) but so does yours… That feature is pretty partial in IE though.

    Give it a look and tell me what you think.

  8. [...] How-to create a “Table of Contents” Navigation (tags: css navigation webdesign howto table html) [...]

  9. Derek says:

    Definitely cool Oli, nested Table of Contents ;)

  10. [...] How-to create a “Table of Contents” Navigation Navigation wie ein Inhaltsverzeichnis gestalten [...]

  11. [...] Punsalan stellt einen interessanten Ansatz wie man mittels CSS ein ansprechendes Inhaltsverzeichnis realisieren kann. Dabei kommen Listen zum [...]

  12. Marcos says:

    Hi!

    Nice solution.

    But you can discard the non-semantic br’s and use ‘overflow:hidden’ in the li’s instead.

    cheers!

  13. Eli says:

    Derek-

    Thanks for this tip – After a bit of trickery, I managed to implement it (here) and it looks/works great. Keep ‘em coming!

  14. [...] bei Perun gefundene Methode zur Gestaltung eines Inhaltsverzeichnisses mit CSS ist ganz nett. Andererseits kommt die [...]

  15. [...] create a "Table of Contents" Navigation URL: 5thirtyone.com/archives/776 Descripción: 5thirtyone.com. A blog. A website. A semi-coherent receptacle for Derek Punsalan with [...]

  16. [...] Beispiel kann als komplettes Packet bei 5ThirtyOne runtergeladen [...]

  17. [...] How-to create a "Table of Contents" Navigation Eine Technik zur Erzeugung eines Inhaltsverzeichnisses mit CSS. [...]

  18. [...] How-to create a “Table of Contents” Navigation In as little as 8 lines of HTML, and 5 lines of CSS, the Table Of Contents Navigation block can be integrated in your site ready for even more styling. [...]

  19. [...] How-to create a “Table of Contents” Navigation In as little as 8 lines of HTML, and 5 lines of CSS, the Table Of Contents Navigation block can be integrated in your site ready for even more styling. [...]

Leave a Reply

Comments may be held for moderation. If your comment does not appear immediately, do not repost. I reserve the right to remove any inappropriate or off-topic comments. If you plan on sharing helpful code, please pass it through Postable first. Want other to know who you are? Register a Gravatar.

Syndicate

Subscribe via RSS or Email

Advertisements

9rules network

5THIRTYONE

Public projects

Select project

Something new

Fresh content

Show Latest

Not going into orbit, just looking for clean clothes Yesterday I spent some time perusing the washer / dryer options at Home Depot. I guess I have never stopped to take notice of advertisements or TV commercials touting the latest & ... Link