Замена маркера в HTML списках: с точки на скобку

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Хотите создать алфавитный нумерованный список с закрывающими скобками? Вы можете сделать это с помощью CSS, настроив особые счетчики:

CSS
Скопировать код
ol {
  list-style: none; /* Отказ от стандартных маркеров */
  counter-reset: alpha-list; /* Начинаем счетчик */
}
ol li::before {
  content: counter(alpha-list, lower-alpha) ") "; /* Нумерация каждого элемента списка: 'a) ', 'b) ', и так далее */
  counter-increment: alpha-list; /* Инкремент счетчика для следующего пункта */
}

Добавьте к этому CSS разметку в HTML, сформировав обычный нумерованный список (<ol>):

HTML
Скопировать код
<ol>
  <li>Пункт</li>
  <li>Пункт</li>
  <!-- Сколько угодно таких пунктов -->
</ol>

Так вы получите алфавитный нумерованный список с обозначениями в формате 'a)', 'b)' и так далее.

Кинга Идем в IT: пошаговый план для смены профессии

Давайте опять сделаем выравнивание маркеров идеальным

Для безупречного выравнивания маркеров используйте позиционирование в CSS:

CSS
Скопировать код
ol li {
  position: relative;
  padding-left: 20px; /* Вы можете выбрать отступ, который вам подходит */
}
ol li::before {
  position: absolute;
  left: 0; /* Разместите маркер слева */
}

Теперь маркеры будут выравнены слева в идеальном порядке, как в типографии.

Один список в гнезде — это еще не весна: работаем с вложенными пунктами

Стиль вложенных списков может быть наследован из внешних, но если использовать дочерние селекторы, можно избежать проблем:

CSS
Скопировать код
ol > li {
  /* Стили применяются только к непосредственным потомкам */
}

Такой метод обеспечивает, что вложенные списки не будут затронуты, сохраняя их уникальность.

Взаем контроль с помощью @counter-style

Если хотите углубить настройку, можно создать собственный стиль счетчика с @counter-style:

CSS
Скопировать код
@counter-style custom-alpha {
  system: alphabetic;
  symbols: 'a' 'b' 'c' 'd' 'e' 'f' 'g'; /* Вот ваш новый алфавит! */
  suffix: ") "; /* Маленький трюк для особых случаев */
}

Примените этот стиль через list-style-type:

CSS
Скопировать код
ol {
  list-style-type: custom-alpha; /* Настраиваем как угодно! */
}

И, кстати, убедитесь ли в поддержке @counter-style различными браузерами, потому что некоторые из них могут ещё не поддерживать данный стиль.

Визуализация результатов

Просмотр результатов до и после настройки облегчает понимание разницы между стандартными и кастомными маркерами:

Тип маркераСтандартныйНастроенный
Маркер в списке1.a)
2.b)
3.c)

Переключение формата маркеров с чисел на буквы становится таким же простым, как ABC!

Поворачивайте ручку «контента» для впечатляющих эффектов

Свойство content в CSS позволяет добавить к маркерам специальные символы, знаки или даже слова, создавая разнообразные эффекты:

CSS
Скопировать код
ol li::before {
  content: counter(alpha-list, lower-alpha) ".🌟 "; /* 'a.🌟 ', 'b.🌟 ' — давайте развлечемся */
}

Проверяем настройки списка на практике

Списки должны быть не только привлекательными, но и понятными пользователям. Всегда тестируйте их в разных контекстах, чтобы убедиться, что они читаемы и доступны. Ведь хороший дизайн — это ключевой момент к успеху!

Полезные материалы

  1. ::marker | CSS-Tricks – CSS-Tricks — Глубокое погружение в методы стилизации списков с использованием псевдо-элемента CSS ::marker.
  2. ::marker – CSS: Cascading Style Sheets | MDN — Изучение нюансов работы с ::marker в документации MDN.
  3. CSS ::marker Selector — Пошаговое руководство по применению CSS ::marker.
  4. CSS ::marker pseudo-element | Can I use... Support tables for HTML5, CSS3, etc — Проверка совместимости псевдо-элемента ::marker с различными браузерами.
  5. Winforms Richtextbox not properly rendered in WPF project – Stack Overflow — Хоть и замаскированное под другую тему, это обсуждение на Stack Overflow хранит в себе секреты мастерства CSS!