Многоуровневые пронумерованные заголовки в HTML5 для описания документа
Поэтому я пишу руководство на html5, и оно будет нуждаться в нумерации.
- Заголовки должны быть пронумерованы, например, "Раздел 4: Некоторые вещи"
- Некоторые подзаголовки должны быть пронумерованы, например, "4.01: первый пункт, который вам нужно знать о некоторых вещах"
Просто чтобы быть трудным, в руководстве будут таблицы и изображения, поэтому они должны быть пронумерованы, например:
"Рис. 4.03. Кошка. Большинство изображений в интернете - кошки".
Кроме того, в руководстве много списков процессов. Было бы хорошо, если бы они были пронумерованы под подзаголовками, например
4.05 Простой процесс
4.05.01 Вытащите лист с дерева
4.05.02 Ешь это
4.05.03 Теперь вы гусеница
4.05.04 Превратись в красивую бабочку
Я исследовал различные способы нумерации своих заголовков, подзаголовков, рисунков и списков. Я нахожу ответы, просто не хорошие ответы.
несовершенное решение 1: использовать счетчики CSS
Они не могут быть скопированы в редактирующие программы (слова и т. Д.). Они также, очевидно, не работают с программами чтения с экрана.
несовершенное решение 2: использовать упорядоченные списки
Они не будут "грациозно проваливаться", если все мои заголовки относятся к классу упорядоченных списков "Заголовок", они просто будут выглядеть как простой список без CSS.
Кто-то уже решил эту проблему? Какое решение?
Супер дополнительные благодарности для тех, кто может предложить умный способ автоматического обновления перекрестных ссылок на мои фигуры!
1 ответ
Используйте текст.
<h3>4.01: the first point you need to know about some stuff</h3>
Нумерация - это не просто стилизация (вы можете ссылаться на эти цифры, верно?), Поэтому решение CSS не может быть и речи.
С помощью ol
может работать в некоторых случаях, но имеет много недостатков:
- Вы не хотите использовать
ol
для всего документа, не так ли? - Пользовательские агенты вообще не должны отображать никаких чисел.
- Многие пользовательские агенты не позволяют искать или копировать номера.
- Вы не можете получить точную схему нумерации, которую хотите иметь (например, вложенную
ol
как правило, не отображать разделитель как.
но начните снова с первого значения).