У меня есть упорядоченный список, где я хотел бы, чтобы начальное число было 6. Я обнаружил, что это поддерживалось (теперь устарело) в HTML 4.01. В этой спецификации говорится, что вы можете указать начальное целое число с помощью CSS. (вместо start
атрибута)
Как бы вы указали начальный номер с помощью CSS?
html
css
html-lists
vrish88
источник
источник
<ol start="">
больше не рекомендуется использовать в HTML5 , поэтому я бы продолжил его использовать, независимо от того, что говорит HTML4.01.источник
start="number"
отстой, потому что он не меняется автоматически в зависимости от нумерации перед ним.Другой способ сделать это, который может удовлетворить более сложные задачи, - использовать
counter-reset
иcounter-increment
.проблема
Допустим, вам нужно что-то вроде этого:
Вы можете установить
start="3"
третьюli
часть второйol
, но теперь вам нужно будет менять ее каждый раз, когда вы добавляете элемент в первую.ol
Решение
Во-первых, давайте очистим форматирование нашей текущей нумерации.
Мы попросим каждого показать счетчик
Теперь нам просто нужно убедиться, что счетчик сбрасывается только на первом,
ol
а не на каждом.Демо
http://codepen.io/ajkochanowicz/pen/mJeNwY
Теперь я могу добавить любое количество элементов в любой список, и нумерация будет сохранена.
источник
ol li {...}
должно бытьol li:before {...}
- иначе это отличное решение, спасибо!Я удивлен, что не смог найти ответ в этой ветке.
Я нашел этот источник , который кратко изложил ниже:
Чтобы установить начальный атрибут для упорядоченного списка с использованием CSS вместо HTML, вы можете использовать
counter-increment
свойство следующим образом:counter-increment
кажется, что индексируется 0, поэтому, чтобы получить список, начинающийся с 4, используйте3
.Для следующего HTML
Мой результат
Посмотри на мою скрипку
См. Также ссылку на W3 wiki
источник
Как предлагали другие, можно использовать
start
атрибутol
элемента.В качестве альтернативы можно использовать
value
атрибутli
element. Оба атрибута помечены как устаревшие в HTML 4.01 , но не в HTML 5 (ol
иli
).источник
Для начала нумерации упорядоченного списка с номера, который отличается от значения по умолчанию («1»), требуется
start
атрибут. Этот атрибут был разрешен (не объявлен устаревшим) в спецификации HTML 4.01 (HTML 4.01 еще не был «Замененной спецификацией» на момент публикации этого вопроса) и все еще разрешен в текущем спецификации HTML 5.2 . Уol
элемента также был необязательныйstart
атрибут в переходном DTD XHTML 1.0, но не в строгом DTD XHTML 1.0 (найдите строкуATTLIST ol
и проверьте список атрибутов). Таким образом, несмотря на то, что говорится в некоторых старых комментариях,start
атрибут не устарел ; скорее это было недействительнов строгих DTD HTML 4.01 и XHTML 1.0. Несмотря на то, что утверждается в одном из комментариев, этотstart
атрибут не разрешен дляul
элемента и в настоящее время не работает в Firefox и Chromium.Также обратите внимание, что разделитель тысяч не работает (в текущих версиях Firefox и Chromium). В следующем фрагменте кода
10.000
будет интерпретироваться как10
; то же самое относится и к10,000
. Поэтому не используйте значения следующего типаcounter
:Итак, вам следует использовать следующее (в редких случаях, когда требуются значения выше 1000):
В некоторых других ответах предлагается использовать свойство CSS
counter
, но это противоречит традиционному разделению содержимого и макета (в HTML и CSS соответственно). Пользователи с определенными нарушениями зрения могут использовать свои собственные таблицы стилей, и в результатеcounter
значения могут быть потеряны.counter
Также необходимо протестировать поддержку программы чтения с экрана для . Поддержка содержимого в CSS программами чтения с экрана появилась сравнительно недавно, и ее поведение не обязательно согласовано. Видеть Программы чтения с экрана и CSS: уходим ли мы из стиля (и в контент)?» Автор: Джон Нортап в блоге WebAIM (август 2017 г.).источник
В случае, если списки являются вложенными, должна быть обработка, исключающая элементы вложенного списка, что я выполнил, убедившись, что главный родитель не является элементом списка.
источник
С CSS немного сложно охватить случай, когда есть элементы вложенного списка, поэтому только первый уровень списка получает настраиваемую нумерацию, которая не прерывается с каждым новым упорядоченным списком. Я использую комбинатор CSS '>' для определения возможных путей к элементам списка, которые должны иметь настраиваемую нумерацию. См. Https://www.w3schools.com/css/css_combinators.asp.
источник
Очевидно, что ни @start упорядоченного списка <ol>, ни @value элемента списка <li> нельзя установить через CSS. См. Https://www.w3schools.com/css/css_list.asp.
Замена нумерации счетчиком в CSS кажется лучшим / самым быстрым / надежным решением, и есть другие, продвигающие его, например https://css-tricks.com/numbering-in-style/
С помощью чистого JavaScript можно установить @value для каждого элемента списка, но это, конечно, медленнее, чем CSS. Даже не требуется проверять, принадлежит ли элемент списка упорядоченному списку <ol>, потому что неупорядоченные списки автоматически исключаются.
источник