@776166

Можно ли кастомизировать оформление content для li::before?

Проблема следующая: генерируем многоуровневый нумерованный список. Используется такая конструкция:

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


Сам код работает нормально, цифры генерируются. Однако, оформление применяется только к точке, а к самой цифре — нет.
5a149d474e189449012221.png
Есть кривое решение, которое используется обычно везде — там цифра проставляется в рамках какого-нибудь другого тэга, но при этом список только выглядит списком, в самом HTML, это совсем не кошерно.

Что не так? Как починить?
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
@kayart
Форкнул первый попавшийся пример с коудпена и подогнал под твои условия. Итак, смотри:

1) В элементе-родителе (в моём примере это список с классом custom-counter) я создаю счётчик при помощи свойства counter-reset с переменной li

2) В псевдоэлементе ::before, принадлежащему каждому li я ставлю автоматический инкремент на каждый новый li при помощи свойства counter-increment: li

3) Прописываю желаемый контент счетчика, в моём случае это content: "Пункт " counter(li) ": "

4) Теперь я могу назначить каждому псевдоэлементу желаемые свойства: задний фон, цвет текста и так далее
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы