| Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
| 8.0+ | 1.0+ | 7.0+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Завдання
Змінити виведення чисел в нумерованном списку і зробити, щоб після номера йшла кругла дужка.
Рішення
За замовчуванням нумерований список має певний вигляд: спочатку йде число, потім точка і після цього через пробіл відображається текст. Така форма написання наочна і зручна, але деякі розробники воліють бачити інший спосіб оформлення нумерованих списків. А саме, щоб замість точки йшла закриваюча дужка, як продемонстровано на рис. 1 або щось подібне.

Рис. 1. Вигляд нумерованого списку з дужкою
Стилі дозволяють змінити вид нумерації списків з допомогою стильових властивостей content і counter-increment. Спочатку для селектора OL потрібно задати counter-reset: item, це потрібно для того, щоб нумерація в кожному новому списку починалася заново. В іншому випадку, нумерація буде продовжена і замість 1,2,3 можна буде побачити 5,6,7. Значення item унікальний ідентифікатор лічильника, ми його вибираємо самі. Далі необхідно заховати вихідні маркери через стильове властивість list-style-type значення none.
Властивість content саме по собі не використовується, як правило, вона працює в поєднанні з псевдоелементами :after і :before. Так, конструкція li:before говорить про те, що перед кожним елементом списку необхідно додати якийсь зміст (приклад 1).
Приклад 1. Створення своєї нумерації
li:before {
content: counter(item) ') '; /* Додаємо до чисел дужку */
counter-increment: item; /* Задаємо ім'я лічильника */
}
content зі значенням counter(item) виводить число; додаючи дужку, як показано в наведеному прикладі, отримаємо необхідний вид нумерації. Властивість counter-increment необхідно для збільшення номера списку на одиницю. Зверніть увагу, що скрізь використовується один і той же ідентифікатор з ім'ям item. Остаточний код наведено в прикладі 2.
Приклад 2. Зміна виду списку
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Список</title>
<style>
ol {
list-style-type: none; /* Прибираємо вихідні маркери */
counter-reset: item; /* Обнуляем лічильник списку */
}
li:before {
content: counter(item) ') '; /* Додаємо до чисел дужку */
counter-increment: item; /* Задаємо ім'я лічильника */
}
</style>
<!--[if lt IE 8]>
<style>
ol {
list-style-type: decimal;
}
</style
<![endif]-->
</head>
<body>
<ol>
<li>Перший</li>
<li>Другий</li>
<li>Третій</li>
<li>Четвертий</li>
</ol>
</body>
</html>
Браузер Internet Explorer до версії 8.0 не підтримує властивість content. Щоб не вийшло явної відмінності при виводі списку в різних браузерах, спеціально для Internet Explorer в даному прикладі через умовні коментарі додано властивість list-style-type зі значенням decimal. Ця запис виводить традиційну нумерацію рядків.
Наведеним способом можна робити будь-який вид нумерованого списку, наприклад, брати число в квадратні дужки, в стилях при цьому зміниться лише один рядок.
content: '[' counter(item) '] ';
