Question

Is there a way to start an ordered list from a specific index while following XHTML Strict? Using start=n works well, but has been deprecated… The intended purpose is to resume the index with paging.

I saw a few references to a CSS solution, but the starting index cannot be used like the attribute in the deprecated case of start.

Was it helpful?

Solution

As kdgregory noted, counters would be the way to accomplish this and still maintain a valid document. This article on Array Studio shows how to code this in XHTML and CSS. The following is copied from their article:

You need to write the following in your CSS:

OL#page_one { counter-reset: item }
OL#page_two { counter-reset: item 5 }
LI { display: block }
LI:before {
    content: counter(item) ". ";
    counter-increment: item;
    display:block;
}

And, this is how your lists should be defined:

<ol id="page_one">
    <li>Division Bell</li>
    <li>Atom Hearth Mother</li>
    <li>Relics</li>
    <li>Dark Side of the Moon</li>
    <li>Wish You Were Here</li>
</ol>

<ol id="page_two">
    <li>The Wall</li>
    <li>More</li>
    <li>Piper at the gates of Dawn</li>
    <li>Final Cut</li>
    <li>Meddle</li>
</ol>

OTHER TIPS

You could definitely use counters but maybe a more practical solution would be to use an XHTML Transitional doctype. I know this doesn't answer your question but this is one of those situations where you can end up coding up the walls and across the ceiling to do something that doesn't gain you much.

The CSS solution is to use a list counter: http://www.w3.org/TR/CSS2/generate.html#counters

And it seems that, to support paging, you could simply put a hardcoded <style> element into the <head>, or set the style explicitly on the element (haven't tried either, so ymmv).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top