Help - Search - Members - Calendar
Full Version: Multi column table of contents
HTMLHelp Forums > Web Authoring > Markup (HTML, XHTML, XML)
Jon Jacobs
I have a huge TOC, over 100 entries, and I think a multi-column approach would be very helpful.
Yes, I really need that huge TOC (generated by computer code). Here is a sample of the code I currently use:

<h1 id="toc">Table of Contents</h1>
<p class="tocnt"><a href="#001">Chapter 1</a></p>
<p class="tocnt"><a href="#002">Chapter 2</a></p>

Here is a segment from the CSS:
p.tocnt {
margin-top:0.0em;
margin-bottom:0.0em;
font-size: 125%;
text-indent:0.0em;
text-align:left;
}

What HTML and CSS can I use to produce a 3 column Table of Contents? I can modify my computer program to generate the new code.

Thank you,
Christian J
There are several ways to do it in CSS (with increasing complexity: "float: left", "display: table-cell" or "display: grid").

One important aspect is to avoid usability problems on mobile screens (like horizontal scrolling). When using floats, the columns will rearrange themselves below each other automatically in narrow viewports. Using the other ideas above, you may use CSS Media Queries to apply a completely different CSS layout in a narrow viewport.

You could also use a dropdown navigation menu (usually done with javascript), where only one sub menu is shown at the time while the main headings of the columns are always visible.

Jon Jacobs
float: left sounds promising. I will try to find out more about it. I may end up having to ask more details, but I will try to research it first.

Thank you,
Christian J
Here's a good tutorial on floats: https://css-tricks.com/all-about-floats/ (though it doesn't focus on multi column layouts in particular).
aresourcepool
The column-count property specifies the number of columns an element should be divided into.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2019 Invision Power Services, Inc.