Advego.ru - система покупки и продажи контента для сайтов, форумов и блогов

Информационный Бестселлер на DVD или CD

Статьи для сайтов!!!
Главная Свойства CSS CSS по шагам Счетчики в CSS Направление текста

Счетчики. Автоматическая нумерация в CSS

Content Counter-increment Counter-reset

Идентификация счетчика
Приращение счетчика
Отображение счетчика
Вложенные списки с автоматической нумерацией


Довольно часто приходиться пользоваться нумерацией: при создании различных списков, перечней, оформлении оглавления или содержания и т.п.

В CSS для автоматизации процесса нумерации используются счетчики.

Для начала приведем простой пример. Затем посложнее - создадим вложенный список с автоматизированной нумерацией его пунктов и подпунктов.

Идентификация счетчика

Сначала необходимо идентифицировать счетчик.

С помощью свойства counter-reset счетчику присваивается имя и начальное значение. Имя может быть любым, но не может начинаться с цифры.

Пример

Фрагмент кода:

body {counter-reset: number 3;}

Эта запись говорит о том, что для тега <body> установлен счетчик с именем number и начальным значением 3.

По умолчанию начальное значение счетчика равно 0.

Приращение счетчика

Далее необходимо определить элемент, который будет нумероваться.

Для этого служит свойство counter-increment. Также оно используется для задания приращений счетчика - числа, на которое будет увеличиваться значение счетчика.

Пример

Фрагмент кода:

body {counter-reset: number 3;}
body p {
counter-increment: number 3;}

Этот фрагмент кода говорит о том, что абзацы (тег <p>) в теле документа будут нумероваться счетчиком number с приращением равным 3.

Первый абзац будет под номером 6, так как начальное значение счетчика 3 и его приращение равно 3.

По умолчанию значение приращений счетчика равно 1.

Сейчас все необходимые параметры счетчика заданы: имя, начальное значение, приращение и элемент, который будет нумероваться. Далее....

Отображение счетчика

Теперь необходимо вывести значение счетчика и задать правила его расположения. Это делается с помощью свойства content и псевдоэлементов before и after.

Свойство content вставляет содержимое до (before) или после (after) указанного элемента.

Пример

Фрагмент кода:

body {counter-reset: number 3;}
body p:after {
counter-increment: number 3; content: " равно " counter(number) ".";}

Итак, к предыдущему фрагменту кода мы добавили свойство content, которое выводит слово "равно", затем значение счетчика number и точку ".". Все это вставляется на страницу после содержимого абзаца (тега <p>), о чем говорит псевдоэлемент after.

В итоге...

Ниже представлен описанный пример.

Пример

Фрагмент кода:

<!DOCTYPE ...>
<html>
<head>
<meta http-...>
<title> Автоматическая нумерация в CSS </title>

<style type="text/css">
body {counter-reset:number 3;}
body p:after {
counter-increment: number 3; content: " равно " counter(number) "."; font-size:24px; color:#FF6666;}
</style>

</head>
<body>

<p> 2 умножить на 3 </p>
<p>
3 умножить на 3 </p>
<p>
4 умножить на 3 </p>
<p>
5 умножить на 3 </p>

</body>
</html>

Результат:

Вложенные списки с автоматической нумерацией

Давайте рассмотрим пример применения счетчиков для автоматизации процесса нумерации вложенных списков.

Вам должно быть уже известно, как из HTML, так и при изучении списков в CSS, что пункты списка нумеруются автоматически. Но эта нумерация является простейшей.

А как насчет автоматической нумерации подпунктов вида 1.1, 1.2, 2.1, 2.2 и т.д.?

Эта задача решается при помощи счетчиков, позволяющих автоматизировать процесс нумерации вложенных списков.

Пример

Фрагмент кода:

<!DOCTYPE ...>
<html>
<head>
<meta http-...>
<title> Автоматическая нумерация в CSS </title>

<style type="text/css">
li {color:#339999; font-size:18px; list-style-type:none;} /* Отменяем нумерацию у списка.*/
ol {
counter-reset: punkt;} /* Идентифицируем счетчик и даем ему имя punkt. Значение счетчика не указано, а по умолчанию оно равно нулю */
ol li:before {
counter-increment:punkt 1; /* Определяем элемент, который будет нумероваться: li - пункты нумерованного списка. Псевдоэлемент before указывает на то, что значение счетчика, далее вставляемое при помощи свойства content, будет располагаться до содержимого пунктов списка. Здесь же устанавливается значение приращений счетчика, равное 1, но его можно было не указывать, так как умолчанию оно также равно 1. */
content:counter(punkt);} /* Далее, с помощью свойства content, выводим значение счетчика punkt, которое будет являться номером пункта списка */

ol ol {
counter-reset: podpunkt;} /* Устанавливаем новый счетчик для вложенного списка, и даем ему имя podpunkt.*/
ol ol li:before {
counter-increment:podpunkt; /*Устанавливаем, что будут нумероваться пункты вложенного списка. Значение приращений счетчика по умолчанию равно 1. */
content:counter(punkt) "." counter(podpunkt);} /* Выводим сначала значение счетчика punkt, затем точка, и далее значение счетчика podpunkt .*/
</style>

</head>
<body>

<ol>

<li>
Первый пункт списка </li>

<ol>
<li>
Первый подпункт 1-го пункта </li>
<li>
Второй подпункт 1-го пункта </li>
</ol>

<li>
Второй пункт списка </li>

<ol>
<li>
Первый подпункт 2-го пункта </li>
<li>
Второй подпункт 2-го пункта </li>
</ol>

<li>
Третий пункт списка </li>

<ol>
<li>
Первый подпункт 3-го пункта </li>
<li>
Второй подпункт 3-го пункта </li>
<li>
Третий подпункт 3-го пункта </li>
</ol>

</ol>

</body>
</html>

Результат:

Вот так происходит автоматизация процесса нумерации вложенных списков!

Плавающие элементы Счетчики в CSS Направление текста
CSS по шагам
Дизайн сайтов
ПОИСК ПО САЙТУ:

Моё имя Антон. Связаться со мною Вы можете по e-mail: averagev@mail.ru