Lists a la MS Word
Some time back Kukutz was interested at me as with help HTML/CSS it is possible to impose the multilevel numbered lists « as in a Word ». To that moment to me in a head has come only izvratnyj a variant of use list-style-image or background-image where numbering such as « 1.3". would be set grafikoj. Foolish idea, certainly.
But back I have recollected couple of days some remarkable CSS properties. Having looked through the specification, I have understood, that the problem is solved, thus semantics in HTML will be saved. Unique (but the most important!) restriction - absolutely correctly works an example only in Opera 7.0. I tested in earlier versions of this browser (numbering in lists is broken), and also in Mozilla 1.0 and Internet Explorer 6.0 (a priori should not work) - alas and ah. Probably, in fresher versions Gecko-based of browsers very well, I cannot say.
All is solved following CSS a code
ol> li {
display:block
}
ol> li:before {
content:counters (item, ".") ".";
counter-increment:item
}
ol {
counter-reset:item
}
Pay attention to a blank in a fragment ".". With his help we create a space between numbering and the text. CSS 2 selectors (ol> li) are used that elements of the enclosed unnumbered lists were not processed.
HTML the code turns out simple and semanticheski correct:
<ol>
<li> one
<ol>
<li> one-one
<ol>
<li> one-one-one </li>
<li> one-one-two </li>
<li> one-one-three </li>
</ol>
</li>
<li> one-two </li>
<li> one-three </li>
</ol>
</li>
<li> two </li>
<li> three
<ol>
<li> three-one </li>
<li> three-two </li>
<li> three-three </li>
</ol>
</li>
</ol>
The theory about counters and automatic numbering I shall not tell. To whom it is interesting - see the specification.
Thanks for attention. Was glad again you to see:-)

|