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 2

5 ответов:

<ol> это ваш лучший вариант с семантической точки зрения. Согласно спецификациям w3, вы больше не должны использовать атрибут type, а вместо него использовать стиль CSS:

Http://www.w3.org/TR/html401/struct/lists.html#type-values

Сказав это, <ol> + CSS является "лучшим" вариантом. Но использование <ul> вместо этого может быть "самым прагматичным", чтобы избежать стилизации в вашем конкретном случае.

UPDATE : на самом деле атрибут type был "undeprecated" снова в HTML5:

Http://dev.w3.org/html5/markup/ol.html

Это не проблема семантики; это проблема стиля. Семантически то, что вы делаете, правильно. У вас есть список элементов, которые находятся в определенном порядке, поэтому вы должны использовать <ol>. Тип отображаемого списка является чисто эстетическим выбором стиля и не имеет ничего общего с семантикой.

Возможно, проблема здесь действительно заключается в не описательном названии глав. Возможно, "Глава 1" было бы лучше "какое-то название, описывающее Главу"

Вместо этого вы можете использовать семантическую разметку неупорядоченного списка <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> между элементами-это еще один вариант, но тогда у вас нет удобного способа укладки элементов, если вы позже захотите это сделать.