Это решение, которое я работаю в Firefox 3, Opera и Google Chrome. Список по-прежнему отображается в IE7 (но без закрывающих скобок и чисел выравнивания по левому краю):
ol {
counter-reset: item;
margin-left: 0;
padding-left: 0;
}
li {
display: block;
margin-bottom: .5em;
margin-left: 2em;
}
li::before {
display: inline-block;
content: counter(item) ") ";
counter-increment: item;
width: 2em;
margin-left: -2em;
}
<ol>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
<li>Six</li>
<li>Seven</li>
<li>Eight</li>
<li>Nine<br>Items</li>
<li>Ten<br>Items</li>
</ol>
РЕДАКТИРОВАТЬ: Включено исправление нескольких строк от strager
Также существует решение CSS для перехода от чисел к алфавитным / римским спискам вместо использования атрибута type в элементе ol.
См. Свойство CSS типа list-style-type . Или при использовании счетчиков второй аргумент принимает значение типа списка. Например, следующее будет использовать верхний римский алфавит:
li::before {
content: counter(item, upper-roman) ") ";
counter-increment: item;
/* ... */
ol {counter-reset: item; padding-left: 0;} li {display: block; margin-bottom: .5em;} li:before {display: inline-block; content: counter(item) ") "; counter-increment: item; padding-right: 0.8em;}
.CSS для стилей списков здесь , но в основном это:
Однако конкретный макет, который вам нужен, вероятно, может быть достигнут только путем вникания во внутренности макета с чем-то вроде этого (обратите внимание, что я на самом деле не пробовал):
источник
Вы также можете указать свои собственные числа в HTML - например, если числа предоставляются базой данных:
seq
Атрибут становится видимым с помощью метода , аналогичного приведенному в других ответах. Но вместо использованияcontent: counter(foo)
мы используемcontent: attr(seq)
.Демо на CodePen с большим количеством стилей
источник
value
атрибут<li>
. напр<li value="20">
. Тогда вам не нужны никакие псевдоэлементы. Демоvalue="4A"
, потому что это не сработает. Кроме того, атрибут value может работать сtype
атрибутом, но значение по-прежнему должно быть числом (поскольку оно работает в упорядоченном наборе).reversed
атрибут html5 только, как с помощьюvalue
изli
). Вместо того, чтобы использовать ваш,seq
я установилvalue
и использовалattr(value)
вместоattr(seq)
Украл много этого из других ответов, но для меня это работает в FF3. Имеет
upper-roman
равномерный отступ, закрывающую скобку.источник
Я предлагаю поиграть с атрибутом: before и посмотреть, чего с его помощью можно достичь. Это будет означать, что ваш код действительно ограничен хорошими новыми браузерами и исключает (досадно большой) сегмент рынка, по-прежнему использующий устаревшие старые браузеры,
Что-то вроде следующего, что заставляет фиксировать элементы. Да, я знаю, что выбирать ширину самостоятельно менее элегантно, но использование CSS для вашего макета похоже на работу полиции под прикрытием: какими бы хорошими ни были ваши мотивы, всегда получается беспорядок.
Но вам придется поэкспериментировать, чтобы найти точное решение.
источник
Числа лучше выстраиваются, если вы добавляете к числам ведущие нули, задав для list-style-type значение:
источник
HTML5: используйте
value
атрибут (CSS не требуется)Современные браузеры интерпретируют
value
атрибут и отображают его так, как вы ожидаете. См. Документацию MDN .Также ознакомьтесь со
<ol>
статьей о MDN , особенно с документацией поstart
атрибуту и.источник
Заимствовал и улучшил ответ Маркуса Даунинга . Протестировано и работает в Firefox 3 и Opera 9. Также поддерживает несколько строк.
источник
Существует атрибут Type, который позволяет вам изменить стиль нумерации, однако вы не можете изменить точку после цифры / буквы.
источник
Документы говорят о
list-style-position
: outside
Далее на этой странице рассказывается о маркерах.
Один из примеров:
источник
Нет ... просто используйте DL:
источник
У меня есть это. Попробуйте следующее:
Загвоздка в том, что это определенно не будет работать в старых или менее совместимых браузерах:
display: inline-block
это очень новое свойство.источник
Быстрое и грязное альтернативное решение. Вы можете использовать символ табуляции вместе с предварительно отформатированным текстом. Вот возможность:
и ваш html:
Обратите внимание, что пространство между
li
тегом и началом текста является символом табуляции (то, что вы получаете, когда нажимаете клавишу табуляции внутри блокнота).Если вам нужна поддержка старых браузеров, вы можете сделать это:
источник
Остальные ответы лучше с концептуальной точки зрения. Тем не менее, вы можете просто заполнить числа левой клавишей с соответствующим числом '& ensp;' чтобы они выстроились в линию.
* Примечание: сначала я не понял, что используется нумерованный список. Я думал, что список создается явно.
источник
Я дам здесь ответ, который я обычно не люблю читать, но я думаю, что, поскольку есть и другие ответы, рассказывающие вам, как добиться того, чего вы хотите, было бы неплохо переосмыслить, действительно ли то, что вы пытаетесь достичь, действительно хорошая идея.
Во-первых, вы должны подумать, стоит ли показывать элементы нестандартным способом, с другим знаком разделителя, чем предусмотрено.
Я не знаю причин для этого, но предположим, что у вас есть веские причины.
Предлагаемые здесь способы достижения состоят в добавлении контента в вашу разметку, в основном через псевдокласс CSS: before. Этот контент действительно изменяет вашу структуру DOM, добавляя в нее эти элементы.
Когда вы используете стандартную нумерацию «ol», у вас будет визуализированный контент, в котором текст «li» можно выбрать, но номер, предшествующий ему, не может быть выбран. То есть стандартная система нумерации кажется скорее «украшением», чем реальным содержанием. Если вы добавляете контент для чисел, используя, например, методы ": before", этот контент будет доступен для выбора, и из-за этого будут возникать нежелательные проблемы при вставке / вставке или проблемы с доступом к средствам чтения с экрана, которые будут читать этот "новый" контент дополнительно к стандартной системе счисления.
Возможно, другим подходом может быть стилизация чисел с использованием изображений, хотя эта альтернатива вызовет свои собственные проблемы (числа не отображаются, когда изображения отключены, размер текста для числа не меняется, ...).
В любом случае, причина этого ответа не только в том, чтобы предложить эту альтернативу «изображениям», но и в том, чтобы заставить людей задуматься о последствиях попытки изменить стандартную систему нумерации для упорядоченных списков.
источник
Этот код делает стиль нумерации таким же, как заголовки содержимого li.
источник