Li счетчик: CSS счётчики — CSS | MDN

Содержание

CSS счётчики — CSS | MDN

CSS счётчики, в своей сущности, переменные CSS, значения которых могут быть инкрементированы при помощи CSS для отслеживания количества их использования. Они позволяют регулировать внешний вид контента, основываясь на его местоположении в документе. CSS счётчики реализованы в CSS 2.1 (ссылка на спецификацию).

Значение счётчика сбрасывается (инициализируется) при помощи counter-reset (en-US). 

counter-increment (en-US) может быть отображён на странице, используя функцию counter() или counters() в свойстве content.

Для того, чтобы использовать CSS счётчики, сначала необходимо сбросить их значение (0 по умолчанию). Для того, чтобы отобразить значение счётчика — используйте функцию counter(). Следующий пример прибавляет в начале каждого h4 элемента «Section <значение счётчика>:».

body {
  counter-reset: section;                     
}

h4::before {
  counter-increment: section;                 
  content: "Секция " counter(section) ": ";   
}

Пример:

<h4>Вступление</h4>
<h4>Основная часть</h4>
<h4>Заключение</h4>

CSS счётчики могут быть очень полезны для создания нумерованных списков, потому что новая сущность CSS счётчика автоматически создаётся в дочерних элементах. Используя функцию counters(), можно вставить строку между разными уровнями вложенных счётчиков. Пример:

ol {
  counter-reset: section;           
  list-style-type: none;
}

li::before {
  counter-increment: section;      
  content: counters(section,".") " ";
                                   
}

Объединим с данным HTML:

<ol>
  <li>item</li>          
  <li>item               
    <ol>
      <li>item</li>      
      <li>item</li>      
      <li>item           
        <ol>
          <li>item</li>  
          <li>item</li>  
        </ol>
        <ol>
          <li>item</li>  
          <li>item</li>  
          <li>item</li>  
        </ol>
      </li>
      <li>item</li>      
    </ol>
  </li>
  <li>item</li>          
  <li>item</li>          
</ol>
<ol>
  <li>item</li>          
  <li>item</li>          
</ol>

Результат:

counter-increment | htmlbook.

ru
Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
8.0+2.0+9.2+3.0+1.0+2.1+2.0+

Краткая информация

Версии CSS

Описание

Стилевое свойство counter-increment предназначено для увеличения значения счётчика приращений, который задается свойством counter-reset. Такой счётчик подсчитывает количество отображений элементов на странице и может выводиться с помощью свойства content и псевдоэлементов :after и :before. Это позволяет создавать списки (в том числе многоуровневые), в которых нумерация и вид задаются через стили.

Синтаксис

counter-increment: none | inherit | идентификатор | целое число

Значения

none
Запрещает увеличение счетчика для текущего селектора.
inherit
Наследует значение родителя.
идентификатор

Задает одну или несколько переменных, для которых требуется изменить значение счетчика. Переменные разделяются между собой пробелом.
целое число
Определяет значение приращения счетчика. По умолчанию оно равно 1. Допускается использовать отрицательные и нулевые значения.

Возможные сочетания значений свойств counter-reset и counter-increment показаны в табл. 1.

Табл. 1. Изменение нумерации списка
КодРезультат
LI { list-style-type: none; }
OL { counter-reset: list -1; }
LI:before {
counter-increment: list;
content: counter(list) «. «;
}

Список начинается с нуля.

0, 1, 2

LI { list-style-type: none; }
OL { counter-reset: list; }
LI:before {
counter-increment: list 2;
content: counter(list) «. «;
}

Выводятся все четные числа.

2, 4, 6

LI { list-style-type: none; }
OL { counter-reset: list -1; }
LI:before {
counter-increment: list list;
content: counter(list) «. «;
}

Выводятся все нечетные числа.

1, 3, 5

LI { list-style-type: none; }
OL { counter-reset: list 9; }
LI:before {
counter-increment: list;
content: counter(list) «. «;
}

Список начинается с 10.

10, 11, 12

Пример

HTML5CSS2.1IECrOpSaFx

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>counter-increment</title>
  <style>
   body {
    counter-reset: heading; /* Инициируем счетчик */
   }
   h3:before {
    counter-increment: heading; /* Указываем идентификатор счетчика */
    content: "Глава " counter(heading) ". "; /* Выводим текст перед содержимым тега <h3> */
   }
  </style>
 </head>
 <body>
  <h3>Теория ловли льва в пустыне</h3>
  <h3>Методы инверсной кинематики</h3>
  <h3>Ловля льва численными методами</h3>
 </body>
</html>

Результат данного примера показан на рис. 1.

Рис. 1. Применение свойства counter-increment

Примечание

Для элементов, у которых установлено display: none, значение счётчика не меняется.

Стилизация и обратный порядок пользовательских счетчиков CSS

От автора: мне нужен был нумерованный список постов в блоге, чтобы они были перечислены от последнего к первому. Как задать обратный порядок пользовательских счетчиков CSS?

Примерно так:

5. Post Title 4. Post Title 3. Post Title 2. Post Title 1. Post Title

5. Post Title

4. Post Title

3. Post Title

2. Post Title

1. Post Title

Но приведенное выше — это просто текст. Я хотел сделать это с помощью семантического элемента ol.

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

Простой способ

Это можно сделать с помощью свойства HTML reversed для ol:

<ol reversed> <li>This</li> <li>List</li> <li>Will Be</li> <li>Numbered In</li> <li>Reverse</li> </ol>

<ol reversed>

  <li>This</li>

  <li>List</li>

  <li>Will Be</li>

  <li>Numbered In</li>

  <li>Reverse</li>

</ol>

Для большинства людей этого будет достаточно.

Работа выполнена. Но мне нужны были пользовательские стили для счетчиков. Мы знаем, что пользовательские стили нумерованных списков могут быть заданы с помощью псевдо-элемента ::marker, но он еще не поддерживается Chrome (хотя я слышал, что это скоро это произойдет).

Поскольку мне нужны были полностью совместимые с браузерами пользовательские стили чисел, я использовал собственные счетчики.

Добавление и стилизация пользовательского счетчика

Стилизация счетчиков упорядоченного списка в отличие от остальной части списка требует отключения счетчиков по умолчанию, а также создания и отображения наших собственных счетчиков с использованием CSS Counters. Некоторое время назад Крис поделился несколькими предложениями, которые стоит посмотреть. Предполагая, что у нас есть следующий HTML:

<ol> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ol>

<ol>

  <li>Item 1</li>

  <li>Item 2</li>

  <li>Item 3</li>

</ol>

… нам в первую очередь необходимо отключить счетчики по умолчанию, задав для свойства CSS list-style-type — none, примерно так:

ol.

fancy-numbered { list-style-type: none; }

ol.fancy-numbered {

  list-style-type: none;

}

Это убирает всю нумерацию по умолчанию. Далее мы создаем счетчик в CSS, чтобы отслеживать количество элементов в списке.

ol.fancy-numbered { list-style-type: none; counter-reset: a; }

ol.fancy-numbered {

  list-style-type: none;

  counter-reset: a;

}

Это дает нам счетчик с именем «а», но его можно назвать как угодно. Давайте отобразим наш счетчик, используя псевдо-элемент ::before для элемента списка (li).

ol.fancy-numbered li::before { content: counter(a)’.’; }

ol.fancy-numbered li::before {

  content: counter(a)’.’;

}

Это установит для содержимого псевдо-элемента значение нашего счетчика. Прямо сейчас это выводит 1 рядом с элементом списка. Нам нужно указать счетчику CSS, как увеличивать номер элемента.

ol.fancy-numbered li::before { content: counter(a)’.’; counter-increment: a; }

ol.fancy-numbered li::before {

  content: counter(a)’.’;

  counter-increment: a;

}

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

Начальное значение «a» равно нулю, что кажется странным, но приращение по умолчанию равно 1, что означает, что оно становится фактической начальной точкой. Увеличение номера на 1 — это поведение по умолчанию, но мы можем изменить это, как скоро увидим.

Теперь мы можем приступить к применению к счетчику любых пользовательских стилей, потому что счетчик — это просто текстовый псевдо-элемент, который доступен для стилизации:

ol. fancy-numbered li::before { content: counter(a)’.’; counter-increment: a; position: absolute; left: 0; color: blue; font-size: 4rem; }

ol.fancy-numbered li::before {

  content: counter(a)’.’;

  counter-increment: a;  

  position: absolute;  

  left: 0;  

  color: blue;  

  font-size: 4rem;

}

Например, здесь мы задали синий цвет счетчика и увеличили размер шрифта. Это то, что мы не могли сделать с помощью счетчика по умолчанию.

Реверсивные пользовательские счетчики

Если мы добавим к элементу ol свойство reversed, как мы делали раньше, мы не увидим никакого эффекта, потому что мы отключили нумерацию по умолчанию. Это именно то, что делает это свойство.

<ol reversed> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ol>

<ol reversed>

  <li>Item 1</li>

  <li>Item 2</li>

  <li>Item 3</li>

</ol>

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

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

ol.fancy-numbered { counter-reset: a 4; list-style-type: none; }

ol.fancy-numbered {

  counter-reset: a 4;

  list-style-type: none;

}

Здесь мы устанавливаем для counter-reset значение 4. Другими словами, мы говорим браузеру начинать отсчет с 4 вместо 1. Мы снова используем 4 вместо 3, потому что правило counter() применяется к первому элементу в списке, номер которого равен 0. Но в случае, когда мы считаем в обратном порядке, 4 становится 0. Если бы мы начали с 3 и уменьшили его, мы получили бы 0 вместо 1.

Затем мы изменим правило counter-increment, чтобы задать уменьшение номера на 1, а не увеличение, сделав значение отрицательным целым числом.

ol.fancy-numbered li:before { content: counter(a)’.’; counter-increment: a -1; position: absolute; left: 0; color: blue; font-size: 4rem; }

ol.fancy-numbered li:before {

  content: counter(a)’.’;

  counter-increment: a -1;

  position: absolute;  

  left: 0;  

  color: blue;  

  font-size: 4rem;

}

И это все! Теперь мы можем делать такие нумерации шагов.

Или как насчет тайм-лайнов:

Может быть, бизнес-план?

Автор: Etinosa Obaseki

Источник: //css-tricks.com

Редакция: Команда webformyself.

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

PSD to HTML

Верстка сайта на HTML5 и CSS3 с нуля

Смотреть

Как использовать CSS псевдоэлемент контента и счетчик

Эта статья какСпециальное использование содержимого до или после псевдоэлемента в CSSВ качестве продолжения этой статьи в предыдущей статье было сделано несколько повторений о связанном использовании контента. Эта статья посвящена расстоянию связанного использования значения атрибута счетчика (counter) в контенте для лучшего понимания атрибута counter.

1. Основное использование счетчика:

В CSS атрибут counter в контенте также используется с псевдоэлементами. Значение, сгенерированное counter, не существует в элементах веб-страницы, поэтому, если мы хотим использовать его вне элемента, мы должны передать его::beforeили::afterСодержание для достижения.

1) Счетчик CSS устанавливается переменной, а переменная увеличивается в соответствии с правилами.

2) Используйте счетчик для автоматической нумерации: (CSS-счетчик использует следующие свойства 🙂

  • counter — reset Создать или сбросить счетчик
  • переменная приращения счетчика
  • содержание Вставьте сгенерированный внутренний цилиндр
  • Функция counter () или counters () добавляет значение счетчика к элементу

3) Чтобы использовать счетчик CSS, вы должны сначала создать его с помощью counter-reset:

В следующем примере несколько тегов h2 создаются в теле, а затем к ним добавляется таймер перед тегом h2:

<body>
	<h2>Заголовок</h2>
	<h2>Заголовок</h2>
	<h2>Заголовок</h2>
	<h2>Заголовок</h2>
</body>

css:Здесь my определяется мной (эквивалент переменной)

body{		
	counter-reset:my;	
}
h2:before{	
	counter-increment:my;	
    content:counter(my)'. ';	
}

Выше приведены официальные шаги: мы также не можем создать, я попробовал это также возможно:

h2:before{	
    content:counter(my)'.';
}
h2{			
    counter-increment:my;
}

Вышеуказанные два эффекта одинаковы:

4) Вложенный счетчик: в следующем примере создается таймер на странице, добавляется значение счетчика перед каждым элементом h2, значение счетчика темы Раздела и значение вложенного счетчика здесь. Перед элементом h3. (Ниже приведен официальный пример, другой мы напишем позже, официальный пример — сначала создать счетчик, а затем работать)

<body>
	<h2>Учебник HTML:</h2>
	<h3>Учебник HTML</h3>
	<h3>Учебник CSS</h3>
	
	<h2>Руководство по написанию сценариев:</h2>
	<h3>JavaScript</h3>
	<h3>VBScript</h3>
	
	<h2>XML учебник:</h2>
	<h3>XML</h3>
	<h3>XSL</h3>
</body>

css:

body {
  counter-reset: section;		
}

h2 {
  counter-reset: subsection;	
}

h2::before {
  counter-increment: section;	
  content: "Section " counter(section) ".  ";	
}

h3::before {
  counter-increment: subsection;	
  content: counter(section) "." counter(subsection) " ";	
}

Смотрите эффект:

Счетчик также можно использовать в списке, и дочерние элементы списка будут созданы автоматически. Здесь мы используем функцию counters () для вставки строк на разных уровнях вложенности:

<body>
	<ol>
	  <li>item</li>
	  <li>item   
	  <ol>
	    <li>item</li>
	    <li>item</li>
	    <li>item
	    <ol>
	      <li>item</li>
	      <li>item</li>
	      <li>item</li>
	    </ol>
	    </li>
	    <li>item</li>
	  </ol>
	  </li>
	  <li>item</li>
	  <li>item</li>
	</ol>
	
	<ol>
	  <li>item</li>
	  <li>item</li>
	</ol>
</body>

css:

ol {
  counter-reset: section;	
  list-style-type: none;
}

li::before {
  counter-increment: section;	
  content: counters(section,". ") " ";
}

Смотрите эффект:

2. Счетчик атрибутов: (Существует множество вариантов использования свойств счетчика, и позже мы напишем отдельную демонстрацию для тестирования.)

Атрибутыописание
contentИспользуйте псевдоэлементы :: before и :: after для вставки автоматически сгенерированного контента
counter-incrementУвеличить одно или несколько значений
counter-resetСоздать или сбросить один или несколько счетчиков

Ты будешь взрослым, не оглядывайся назад, не грусти.

«Я хочу плакать, разве вы не можете спать сейчас».

Счетчик импульсов 4-х канальный, входной сигнал 160-265В AC/DC, RS-485, Modbus RTU, 1 модуль, установка на DIN-рейку EA12.003.025

Производитель

Артикул производителя

EA12. 003.025

Тип товара

Аналого-цифров. модуль ввода/вывода ПЛК

Аналог. вход, напряжение

Да

Аналог. вход, ток

Нет

Заказной ассортимент

Получить  в