Генерируем нумерацию заголовков используя CSS

Posted on Сентябрь 19, 2007
Filed Under generated content, :before, css, html |

automatic-counters.gif

Этот способ работает только в адекватных браузерах, которые понимают как минимум :before и поддерживают генерацию контента средствами CSS

Итак, имеем следующий HTML:<h1>Заголовок</h1>
<h2>Заголовок</h2>
<h2>Заголовок</h2>
<h1>Заголовок</h1>
<h2>Заголовок</h2>
<h2>Заголовок</h2>

Начнем работать над стилями. Первое,что сделаем, объявим счётчики для заголовков:h1 {
counter-increment: h1;
}
h2{
counter-increment: h2
}

Счётчики объявлены, теперь их надо как то выводить на страницу:h1:before {
content: counter(h1) ". "
}
h2:before {
content: counter(h1) "." counter(h2) " ";
}

Для заголовка первого уровня выводим счётчик, который для него объявили, а для заголовка второго уровня выводим так сказать родной счётчик и счётчик заголовков первого уровня. пример

Последнее что нам осталось сделать - обнулят счётчик второго уровня:h1 {
counter-reset: h2 0;
}

Окончательный вид таблици стилей:h1 {
counter-increment: h1;
counter-reset: h2 0;
}
h1:before {
content: counter(h1) ". "
}
h2{
counter-increment: h2
}
h2:before {
content: counter(h1) "." counter(h2) " ";
}

пример

Comments

3 Responses to “Генерируем нумерацию заголовков используя CSS”

  1. ivankin on Октябрь 8th, 2007 10:58 am

    НумЕрация 8)

  2. never again on Октябрь 8th, 2007 11:22 am
    исправил :-[

    ЗЫ вспоминаю учителя по русскому в школе и его слова “хватить в точки играть”

  3. Злюк on Октябрь 14th, 2007 8:15 pm

    Вот это да….
    А я вообще впервые про counter-increment тут прочитал.. Во ламер, а :(.
    Спасибо.

Leave a Reply




Please copy the string J5YfII to the field below: