HTML-разметка для упорядоченного списка с номерами?
Это довольно глупый вопрос, но какую разметку я должен использовать для упорядоченного списка, который уже имеет номера? В настоящее время я использую тег <OL>
, но он несколько избыточен в моих глазах.
Разметка:
<ol>
<li>Chapter 1</li>
<li>Chapter 2</li>
<li>Chapter 3</li>
<li>Chapter 4</li>
</ol>
Вывод:
1. Chapter 1
2. Chapter 2
3. Chapter 3
4. Chapter 4
По какой-то причине я не использую CSS, поэтому стиль <OL>
- мой последний вариант.
5 ответов:
<ol>
это ваш лучший вариант с семантической точки зрения. Согласно спецификациям w3, вы больше не должны использовать атрибутtype
, а вместо него использовать стиль CSS:Http://www.w3.org/TR/html401/struct/lists.html#type-values
Сказав это,
<ol>
+ CSS является "лучшим" вариантом. Но использование<ul>
вместо этого может быть "самым прагматичным", чтобы избежать стилизации в вашем конкретном случае.UPDATE : на самом деле атрибут
type
был "undeprecated" снова в HTML5:
Это не проблема семантики; это проблема стиля. Семантически то, что вы делаете, правильно. У вас есть список элементов, которые находятся в определенном порядке, поэтому вы должны использовать
Возможно, проблема здесь действительно заключается в не описательном названии глав. Возможно, "Глава 1" было бы лучше "какое-то название, описывающее Главу"<ol>
. Тип отображаемого списка является чисто эстетическим выбором стиля и не имеет ничего общего с семантикой.
Вместо этого вы можете использовать семантическую разметку неупорядоченного списка
<ul>
; Используя этот пример:<ul> <li>Chapter 1</li> <li>Chapter 2</li> <li>Chapter 3</li> <li>Chapter 4</li> </ul>
В конце концов, однако, вы всегда должны использовать CSS для стилизации. Вряд ли вам не нужно будет стилизовать разметку в любом случае, если это не только для диагностических целей или предоставления базовой информации.
Технически, чтобы быть семантически корректным, вы должны сохранить свою разметку
<ol>
и использовать CSS для достижения желаемого внешнего вида, но это может быть не важно в зависимости от вашего ситуация и намерения.
Вы используете "сброс css"? Это может быть сброс стиля OL по умолчанию.
Попробуйте добавить это в ваш css:
ol { list-style-type: decimal; }
Структурируйте HTML следующим образом:
<ol> <li>Chapter 1</li> <li>Chapter 2</li> </ol>
Также убедитесь, что ваш doctype установлен правильно. Проблема. следует использовать HTML5, но есть и другие варианты.
<!doctype html>
Разница между OL и UL заключается в том, что "упорядоченный список" и "неупорядоченный список" используют правильный, когда это уместно. Если ваш список уже содержит число, вы можете просто установить тип списка: нет; в вашем css, но я бы все равно использовал OL. В данном случае, я думаю, это более правильно.
На самом деле,
<ol>
означает список, который должен быть пронумерован браузером; даже спецификации W3C HTML используют его таким образом, независимо от того, что они могут сказать в своей прозе. Для получения подробной информации, проверьте мой трактат разница между UL и ol элементами в HTML. Поэтому, если вы не хотите создавать нумерацию в браузере, не используйте<ol>
.Если вы также не хотите генерировать браузерные пули,
<ul>
также не подходит, хотя пули будут менее нечетными, чем генерируемые числа, когда элементы имеют цифры в их содержании. В этом случае<ul>
может быть подходящим, но, возможно, не оптимальным.Это оставляет вас
<div>
, сclass
, если это необходимо. Вы можете обернуть каждый элемент внутри<div>
, чтобы они начинались с новой строки, и вы можете дополнительно обернуть весь список внутри внешнего<div>
, Если это необходимо для стилизации или написания сценариев. Использование только<br>
между элементами-это еще один вариант, но тогда у вас нет удобного способа укладки элементов, если вы позже захотите это сделать.