Разделители внутри списка OL

Я пытаюсь настроить раздел «справочный документ» как часть адаптивного веб-сайта Webhelp, который я создаю на основе карты DITA. Я хочу получить типичный список документов с уникальным справочным номером (обычно [1], [2], [3]... [N]), за которым следует информация о документе (номер документа, название и т. д.). , и я хотел бы «разделить» свой список на несколько разделов (например, руководства, процедуры, статьи и т. д.), но ДЕРЖАТЬ текущий счетчик списка.

Я заметил, что могу вставить <div> между двумя элементами <li></li>, и он отобразится правильно, но это недопустимо с точки зрения чистого HTML.

<!DOCTYPE html>
<html>
<head>
<style>
ul.demo {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
</style>
</head>
<body>

<p>Default list:</p>
<ol>
  <li>Coffee</li>
  <li>Tea</li>
  <div style = "margin-left: -20px; margin-top:20px; margin-bottom: 20px;">test divider</div>
  <li>Coca Cola</li>
</ol>

<p>Remove bullets, margin and padding:</p>
<ul class = "demo">
  <li>Coffee</li>
  <li>Tea</li>
  <li>Coca Cola</li>
</ul>

</body>
</html>

Есть ли «правильный» способ сделать это, не разбивая <ol> на отдельные списки и используя, например, внешний счетчик с CSS (я хочу сохранить исходный счетчик, так как он используется системой ссылок в моем DITA- Преобразование HTML...).

Просто создайте <li class = "divider"></li>, чтобы он содержал разделитель, который вы хотите использовать. (хотя это будет считаться элементом). В противном случае вам придется Macgyver что-то с javascript, который применяет разделители после рендеринга DOM.

MartijnICU 18.06.2019 11:47

Да, я уже думал об этом, но, как вы сказали, это будет считаться «нормальным» элементом списка, и я бы предпочел, чтобы счетчик оставался непрерывным... В любом случае спасибо!

David 18.06.2019 11:49
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
125
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если разделитель предназначен только для стиль, тогда будет работать псевдоэлемент:

ul.demo {
  list-style-type: none;
  margin: 1em;
  padding: 0;
}

li.first::before {
  content: "--------- test divider -----------";
  display: block;
}
<ul class = "demo">
  <li>Coffee</li>
  <li>Tea</li>
  <li class = "first">Coca Cola</li>
</ul>

Вы можете дополнительно улучшить это с помощью атрибутов данных

ul.demo {
  list-style-type: none;
  margin: 1em;
  padding: 0;
}

li.first::before {
  content: "-----" attr(data-type) "-----";
  display: block;
  color: red;
}
<ul class = "demo">
  <li class = "first" data-type = "Beverages">Coffee</li>
  <li>Tea</li>
  <li class = "first" data-type = "Soft Drinks">Coca Cola</li>
</ul>

Другие вопросы по теме