Лучший способ пропустить строку в HTML?
Я читал и посещал множество веб-сайтов, но ни один из них не предоставил мне простое решение. Что я хочу знать, это лучший способ добавить/пропустить строку в html? В основном я использую два тега
, но я знаю, что есть более простое решение проблемы. Есть ли способ пропустить строку, используя css, вместо этого:
Hello.
This is a test
Lebone 23 дек. 2015, в 09:26
Поделиться
что насчет css: margin-bottom?
ItayB 23 дек. 2015, в 08:11
Используйте теги . Введите текст, который вы хотите показать на странице внутри тегов
Akshey Bhat 23 дек. 2015, в 08:14
@ItayB magin-bottom? Я не думаю, что это чистый и правильный способ сделать это.
Lebone 23 дек. 2015, в 08:19
@AksheyBhat Я согласен,
- это определенно то, что вам нужно, если ваш текст содержит некоторые разрывы строк.
Anwar 23 дек. 2015, в 08:22
@Lebone Есть много способов достичь своей цели. Вы спрашиваете о решении CSS, одно из решений CSS, которое я предложил ..
ItayB 23 дек. 2015, в 08:24
Показать ещё 3 комментария
Поделиться:
7 ответов
Лучший ответ
Вы можете просто использовать два отдельных абзаца (
). Например:
Hello.
This is a test
nicost 23 дек. 2015, в 10:07
Поделиться
Легко и просто. Спасибо.
Lebone 23 дек. 2015, в 08:21
Я думаю, что использование ярлыка br всегда — плохая идея. Попробуйте использовать абзацы, css padding, css margin, hr. Попробуйте избегать br, потому что это не semantic и использование соответствующего тега на вашем сайте «помогает поисковым системам» «понять ваш сайт»
Szántó Zoltán 23 дек. 2015, в 09:54
Поделиться
Семантически, это зависит от вашей цели. Делайте все возможное в ситуации. Некоторые примеры.
-
Если вам буквально нужно пропустить строку, то есть иметь пустую строку, в которой ничего нет в тексте, тогда обязательно используйте два элемента
.
This is one line of text
This is also one line of text
The next line happens to be empty
And here is another line, not empty
Add the water to the recipe
Add the salt
Note: stir thoroughly!
This is some text
This is some unrelated text
The last line of the previous section Introduction
The fist line of the next section
section . . The last line of the previous section The fist line of the next section .
Mr Lister 29 дек. 2015, в 09:43
Поделиться
Вы можете окружить «Hello» с помощью div и добавить css of maring-bottom, например:
Hello. This is a test
ItayB 23 дек. 2015, в 08:40
Поделиться
steveax 23 дек. 2015, в 08:25
Браузеры не «справятся» с этим; все они закрывают
до запуска .
Mr Lister 29 дек. 2015, в 08:49
Попробуйте использовать это, где вы хотите пустое пространство:
Если вам нужно несколько пробелов, повторите код следующим образом:
Steven Alves 21 сен. 2016, в 04:10
Поделиться
Использование элементов уровня блока поможет. например, p является элементом уровня блока, который даст разрыв строки.
чтобы вы могли иметь текст в двух абзацах. и установите для поля margin/padding пункт
с использованием
является плохим подходом.
Rovi 23 дек. 2015, в 10:48
Поделиться
Hello.
This is a test
Fabio Ros 23 дек. 2015, в 10:04
Поделиться
Если вы абсолютно хотите использовать тег
.
Fabio Ros 23 дек. 2015, в 09:11
Как это лучше, чем собственный пример ОП?
Mr Lister 29 дек. 2015, в 08:17
Ещё вопросы
- 0 C ++ скопировать #define в массив символов
- 0 LightOpenID использует только первый возвращенный AuthURL, несмотря на запуск отдельных сессий PHP
- 0 Попытка получить данные через связанную таблицу в Laravel
- 0 Variable + Wildcard удаление изображения
- 1 Строковый параметр слишком длинный. извлечение данных из базы данных в шаблон слова
- 0 Как создать список, который может содержать функцию [closed]
- 0 JQuery Mouseleave стрельбы преждевременно в т. е. (8 и 9)
- 0 Получите img src, а затем измените контейнер div
- 1 Лучший способ хранить данные временно?
- 0 jQuery UI Sortable — Странное поведение — элементы, падающие с вершины окна при движении
- 0 Объединить два массива, если одно из значений равно ключу
- 1 Иметь представление обтекания содержимого, но соответствовать родительскому, если есть свободное место
- 0 jatery datatables изменяет класс td для пустой таблицы
- 1 NotFoundError: Тензорное имя «Предсказание / InceptionResnetV2 / AuxLogits / Conv2d_1b_1x1 / BatchNorm / beta» не найдено в файлах контрольных точек
- 0 Как настроить контент для ссылок из вложенной навигации
- 0 Подавить печать консоли из импортированной DLL
- 0 Конвертировать плоский массив PHP в многомерный массив
- 1 Лучшее использование абстрактных классов переопределения в приложении
- 0 Должен быть простой цикл jQuery, но, похоже, не могу понять, как пройти через это
- 0 Вывод как изображение с использованием PHP
- 1 Как игнорировать скрытые файлы при использовании os.stat () в Python?
- 0 Используйте JavaScript для пометки слова из списка
- 1 Распаковка кортежей в списке списков с определенным порядком
- 1 Как сказать Python HTMLParser остановиться
- 0 Как написать HTML-код внутри DIV после отправки запроса POST в AngularJs
- 0 ограничение с массовой вставкой CSV в MySQL
- 0 когда-нибудь MySQL отключен, из-за увеличения нагрузки посетителя
- 1 Проблемы при переносе узла с угловым ИЛИ, как создать среднее приложение без использования angular-cli
- 0 указать порядок полей в сообщении FIX, используя QuickFIX
- 1 Как запустить пакет служб SSIS через .net?
- 0 проверить, была ли страница перенаправлена или открыта непосредственно в междоменном php
- 0 Сортировка JSON данных на стороне клиента
- 1 Удалить / удалить каждое минимальное значение в каждой строке матрицы NxM?
- 0 передача данных от контроллера mvc к угловому контроллеру и области
- 0 От клиента было обнаружено потенциально опасное значение Request.Path (:)
- 0 Как получить данные из двух таблиц со строками в виде столбцов? (динамический пивот в MySQL)
- 0 Как GPU помогает улучшить итерационные вопросы?
- 0 Проверка Javascript перед сохранением информации
- 0 Событие щелчка селектора jquery не запускается с угловым
- 1 Pagedlistadapter не возвращает ни одного предмета в recyclerView
- 1 удаление текста контура круговой диаграммы
- 1 Как перебрать хэш-карту, чтобы получить каждую четвертую пару ключ-значение?
- 1 Изображение не загружается на JTable
- 1 Обновление до TLSV1.0 или 1.1 до TLSV1.2 в Android с использованием httpclient
- 1 Как установить имя файла при загрузке файла? [Дубликат]
- 1 Как отключить макет обновления смахивания, когда RecyclerView не на первом элементе?
- 1 Различия между Google Cloud Vision OCR в демонстрационной версии браузера и через Python
- 0 Случайная непрозрачность анимации в списке элементов
- 0 Как поместить в текст внутри
в html + css?
- 1 рекурсивный алгоритм для файловой структуры для одного типа файла
Как вставить пустую строку в html
Общепринято, что для создания пустой строки в HTML нужно применять абзац, блок, но никак не два перевода строки
, существует несколько весьма пространных объяснений, но конкретного запрета нет.
Я долгое время следовал этому требованию и функция обработки текста перед выводом заменяла два перевода строки подряд
на абзац , который периодически изменялся.
Центрирование, цвет текста, размер шрифта задавались строчными тегами.
Время шло и многие строчные теги устарели, к примеру, раньше цвет текста определялся тегом , но тег , как и другие уже не входит в спецификацию HTML 4 и не рекомендуется к использованию, в HTML 5 это уже ошибка. «Выжили» разве что , , и .
На замену первым историческим тегам пришел универсальный срочный тег , которому можно задать любые параметры через CSS, это правильно, гибко и универсально, к тому-же он нейтрален, не вмешивается в верстку.
Но верстка вмешивается в , если пользователь выбрал, например, цвет части текста, выбранный текст соответственно помещается в , span-у назначается соответствующий цвет, явно или через класс, всё казалось-бы хорошо.
Но до тех пор пока пользователь не «отбил» пустую строку внутри текста в , которую будет обрабатывать функция вывода — вот тут начинаются проблемы.
Бездумная борьба с двойным переводом строки
вставляет вместо них , а это блочный элемент, который разрывает строчный на части, причем начальный тег продолжает действовать, а закрывающий становится «бездомным», т.к. браузер не просматривает закрытие строчного тега за пределами блочного элемента .
В результате открытый в начале страницы задает стиль текста всей странице, т.к. его закрывающий тег «отрезается» первым-же параграфом.
Угадать в каком месте пользователь разорвет пустой строкой, превращенной в абзац мы не можем, первой была идея усложнить регулярку вывода и отменить вставку
\n внутри . Например сейчас регулярка «заглядывает» назад и если перевод строки сделан после , [/code], — отменяет вставку
\n.
* — два
\n подряд далее занялись на
.
Но во-первых регулярка вполне себе усложняется, не забываем, что «заглянуть» назад на неопределенное количество знаков нельзя, т.е. отловить открытый ранее, но еще не закрытый еще тот геморрой для PHP и сервера. Это значит, что растет время выдачи блока и соответственно, пропорционально количеству блоков, всей страницы. Во вторых если пользователь хочет здесь видеть перевод строки (пустую строку — два перевода), то почему я должен собственно запрещать?
При обработке (отлавливании) будет ощутимо расти процессорное время, пользователям будем объяснять, что в тексте с цветом, размером, центровкой (всё это будет заключаться в при выводе), нельзя делать пустые строки, а ради чего собственно?
Из-за того, что кто-то сказал, что
ай, ай, какой дурной тон и что-то там не срастается с типографской версткой!
А мы не в типографии, были даже варианты бреда вида «поисковики такие сайты плохо индексируют», да, да, в 2022 году Гугл с Яшей запутываются в простых строчных тегах .
Вменяемых объяснений почему нельзя использовать
(
\n
\n) или даже
найти не удалось, везде только про «дурной тон», семантические абстракции и всё. Зато нашел хорошее и простое объяснение на overcoder.net (машинный перевод на русский):
Семантически, это зависит от вашей цели. Делайте все возможное в ситуации. Некоторые примеры.
Если вам буквально нужно пропустить строку, то есть иметь пустую строку, в которой ничего нет в тексте, тогда обязательно используйте два элемента
.
This is one line of text
This is also one line of text
The next line happens to be empty
And here is another line, not empty
Однако, если вы хотите создать пустое пространство между двумя блоками прозы, то два блока должны быть абзацами, как указано в других ответах.
И если первая часть представляет собой кучу отдельных строк, но вторая часть — это проза, то только вторая часть должна быть абзацем. Не нужно вставлять первую часть в теги
. Пример:
Add the water to the recipe
Add the saltNote: stir thoroughly!
Если вы намерены фактически разделить две строки текста, чтобы обозначить, что они не принадлежат друг другу, вы можете использовать
. Сделайте его невидимым, если хотите.
This is some text
This is some unrelated text
Если следующая строка представляет собой введение в более позднюю половину текста, измените ее на
(то есть заголовок на любом уровне, который вам нужен здесь).
The last line of the previous sectionIntroduction
The fist line of the next section
Это работает, потому что заголовки также имеют встроенные поля.
Наконец, если у вас есть существующий фрагмент html с двумя блоками текста уже в двух элементах HTML, вам необязательно менять разметку; все, что вам нужно сделать, это установить верхний и нижний поля для этих элементов в CSS.
Предположим, что они находятся в s:
section . . The last line of the previous sectionThe fist line of the next section .
Полностью согласен с автором Mr Lister действительно, замена перевода на
\n выглядит в исходнике страницы ровно, как в его примере.
Я отказался от поддержки мнения о том, что
это признак «дурного тона», это не означает, что
и более нужно вставлять где попало, например, между абзацами и другими блочными элементами, для этого в CSS существуют отступы для абзацев и блоков.
Речь идет исключительно о тексте, о «псевдоабзаце», если так больше нравится.
Буду рад выслушать сторонников мнения, что это признак «дурного тона» в комментариях, возможно, имеются весомые аргументы против
.
Но прежде чем бороться с
, пожалуйста, предложите современное решение вместо , чтобы стилизованный тегом текст свободно и валидно переходил из одного параграфа (блока текста) в другой и стилизация заканчивалась по закрывающему тегу , где бы он не находился (в пределах div, конечно).
Варианты вида «отловить начало параграфа, закрыть -ы, запомнить их параметры, начать новый абзац с открытия нового с теми же параметрами, прошу не предлагать. Текста у нас много, а сервер один и ему есть чем заняться, кроме как типографской версткой для вывода на экран.
Как вставить пустую строку в html
Тег
устанавливает перевод строки в том месте, где этот тег находится. В отличие от тега абзаца
, использование тега
не добавляет пустой отступ перед строкой. Если текст, в котором используется перевод строки, обтекает плавающий элемент, то с помощью атрибута clear тега
можно сделать так, чтобы следующая строка начиналась ниже элемента.
Синтаксис
Текст
текст
Текст
текст
Атрибуты
clear Сообщает браузеру, как обрабатывать следующую строку, если текст обтекает плавающий элемент.
Закрывающий тег
HTML5 IE Cr Op Sa Fx
Тег BR Р.Л. Стивенсон
Лето в стране настало,
Вереск опять цветет.
Но некому готовить
Вересковый мед.
Результат данного примера показан на рис. 1.

Рис. 1. Вид текста при использовании тега
Статьи по теме
Не выкладывайте свой код напрямую в комментариях, он отображается некорректно. Воспользуйтесь сервисом cssdeck.com или jsfiddle.net, сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.
Типы тегов

HTML5

Блочные элементы

Строчные элементы

Универсальные элементы

Нестандартные теги

Осуждаемые теги

Видео

Документ

Звук

Изображения

Объекты

Скрипты

Списки

Ссылки

Таблицы

Текст

Форматирование

Формы

Фреймы
Как заставить пустой тег
быть высотой в одну строку?
Столкнулся с проблемой. Фреймверк Qt, при генерировании HTML-кода редактируемой области, создает такой HTML:
. Можно дать команду:
$ mencoder -ovc help
.
Средний тег
— пустой. В браузерах на WebKit он отображается как отдельная пустая строка. А в Opera и Firefox он никак не отображается, то есть верхний и нижний
смыкаются.
Если поставить пробел в содержимое среднего тега, то отдельная пустая строка появляется.
Вопрос. Можно ли через CSS настроить свойства элемента
так, чтобы он даже будучи пустым, отображался как отдельная пустая строка?