Перейти к основному содержимому
ГлавнаяБлогГоризонтальная линия в Markdown: разделители и частые ошибки

Горизонтальная линия в Markdown: разделители и частые ошибки

Создайте горизонтальную линию в Markdown с помощью ---, *** или ___. Узнайте, почему разделитель становится заголовком, как влияют отступы и когда нужен перенос строки.

Опубликовано:

Чтобы добавить горизонтальную линию в Markdown, поместите три дефиса на отдельной строке, оставив пустую строку сверху и снизу:

Конец первого раздела.

---

Начало следующего раздела.

В результате между двумя абзацами появится разделитель. В Markdown он называется тематическим разделителем; в HTML ему соответствует <hr>. Вставьте пример в просмотрщик Markdown, чтобы проверить отображение документа.

Три способа записать разделитель

Все эти варианты создают тематический разделитель:

Исходный Markdown Результат
--- Горизонтальная линия
*** Горизонтальная линия
___ Горизонтальная линия
* * * Горизонтальная линия

Используйте не менее трёх одинаковых дефисов, звёздочек или знаков подчёркивания. Между маркерами допустимы пробелы. Смешивание типов маркеров, добавление текста на ту же строку или использование лишь двух маркеров не создаёт линию. Эти правила синтаксиса описаны в спецификации тематических разделителей CommonMark.

Количество дефисов не определяет видимую ширину линии. Строки из 20 и из трёх дефисов создают один и тот же HTML-элемент; внешний вид зависит от оформления места публикации.

Почему горизонтальная линия превратилась в заголовок?

Этот исходный текст не помещает разделитель под словами «Примечания к выпуску»:

Примечания к выпуску
---

Он создаёт заголовок второго уровня. Дефисы непосредственно под текстом абзаца могут образовать заголовок Setext, и такая интерпретация имеет приоритет перед горизонтальной линией. Добавьте пустую строку, чтобы разделить их:

Примечания к выпуску

---

Для раздела документа явно заданный заголовок часто понятнее:

## Примечания к выпуску

Импорт теперь поддерживает файлы CSV.

Используйте заголовки Markdown для обозначения разделов. Горизонтальная линия уместна, когда важен сам переход, например между письмом и приложением.

Почему разделитель отображается как обычный текст?

Проверьте исходный текст вокруг линии:

Симптом Вероятная причина Решение
Предпросмотр показывает --- в блоке кода Четыре пробела в начале отдельного блока или незакрытое ограждение кода Уберите отступ или закройте ограждение кода
Предпросмотр показывает -- Только два дефиса Используйте три или больше
Рядом с маркерами появляется текст Строка содержит другой текст Поместите маркеры на отдельную строку
Линия отображается как --- внутри предложения Маркеры заключены в обратные кавычки Уберите обратные кавычки, если нужен разделитель
Предыдущий абзац становится заголовком Над --- нет пустой строки Вставьте пустую строку

На верхнем уровне документа перед тематическим разделителем допустимо до трёх пробелов. В списках отступ также определяет, какому элементу принадлежит содержимое, поэтому проверьте окружающий список, прежде чем удалять все пробелы.

Горизонтальная линия отличается от переноса строки

Разделитель отделяет разделы. Он не просто переносит следующие слова на новую строку.

Для адреса используйте принудительный перенос строки:

Маркет-стрит, 120\
Сан-Франциско, Калифорния

Для нового абзаца оставьте пустую строку. Для разделителя разделов поместите --- на отдельную строку. Руководство по переносам строк Markdown объясняет пробелы в конце строки, обратные косые черты и различия обработки новых строк в файлах и комментариях GitHub.

Разделитель внутри цитаты

Сохраняйте префикс > на каждой строке, включая разделитель и пустые строки:

> Исходное предложение.
>
> ---
>
> Дополнительные сведения от рецензента.

Разделитель останется внутри цитаты. Удаление > перед линией может завершить цитату и переместить разделитель на внешний уровень документа. В примерах цитат рассмотрены несколько абзацев и вложенные цитаты.

Разделитель таблицы не является горизонтальной линией

Эта строка принадлежит таблице:

| Формат | Редактируется |
| --- | :---: |
| Markdown | Да |

Вертикальные черты и необязательные двоеточия описывают столбцы. Они не вставляют разделитель на всю ширину страницы. Используйте генератор таблиц Markdown для создания таблицы или конвертер CSV в Markdown, если данные уже находятся в электронной таблице.

Горизонтальные линии и экспорт документов

Тематический разделитель не является командой разрыва страницы. Средство экспорта в PDF или Word определяет границы страниц по правилам макета и разбиения на страницы. Не добавляйте лишние дефисы в надежде, что следующий раздел начнётся с новой страницы.

На веб-странице, CSS которой вы контролируете, созданный <hr> можно оформить в таблице стилей сайта. Размещённый сервис Markdown может запрещать пользовательский CSS. Проверяйте конечное место публикации или экспортированный документ, особенно если разделитель несёт смысл, который должен сохраниться при печати.

Часто задаваемые вопросы

Нужны ли пустые строки вокруг горизонтальной линии?

CommonMark требует их не во всех случаях, но они позволяют избежать распространённой неоднозначности заголовка с --- и упрощают чтение исходных файлов.

Можно ли использовать HTML-тег hr?

<hr> работает в средствах отображения, разрешающих необработанный HTML. Для документа Markdown лучше подходит синтаксис ---. Редактор MD File Viewer удаляет введённые пользователем HTML-теги, а разделитель Markdown отображается обычным образом.

Как показать три дефиса, не создавая разделитель?

Для примера синтаксиса используйте встроенный код: `---`. Для обычного текста на отдельной строке экранируйте первый дефис: \---.

Для других распространённых способов форматирования держите под рукой шпаргалку Markdown.

Попробуйте в браузере

Откройте редактор на главной странице, чтобы просматривать, редактировать и экспортировать Markdown мгновенно — без установки.

Ещё статьи

Горизонтальная линия в Markdown: разделители и частые ошибки | MD File Viewer