Как заставить пустой тег
быть высотой в одну строку?
Столкнулся с проблемой. Фреймверк Qt, при генерировании HTML-кода редактируемой области, создает такой HTML:
. Можно дать команду:
$ mencoder -ovc help
.
Средний тег
— пустой. В браузерах на WebKit он отображается как отдельная пустая строка. А в Opera и Firefox он никак не отображается, то есть верхний и нижний
смыкаются.
Если поставить пробел в содержимое среднего тега, то отдельная пустая строка появляется.
Вопрос. Можно ли через CSS настроить свойства элемента
так, чтобы он даже будучи пустым, отображался как отдельная пустая строка?
Как пропустить строку или более между рисунком и текстом в html?
На рисунок кидаете класс. А уже в селекторе прописываете
margin:значение ;
padding:значение ;
Можно обойтись и чистым HTML. В атрибутах тега картинки есть hspace=»» vspace=»» задающие отступ.
Можно сделать и совсем варварским способом, понаставив тегов br
Остальные ответы
черт. тег не отправляется
Тег < b r>устанавливает перевод строки в том месте, где этот тег находится. В отличие от тега абзаца
, использование тега < b r>не добавляет пустой отступ перед строкой. Если текст, в котором используется перевод строки, обтекает плавающий элемент, то с помощью параметра clear тега < b r>можно сделать так, чтобы следующая строка начиналась ниже элемента.
Если просто будет пустая строка — она не отобразится. Нужно добавить в строку какой-нибудь символ, например пробел
Как вставить пустую строку в html
Тег
устанавливает перевод строки в том месте, где этот тег находится. В отличие от тега абзаца
, использование тега
не добавляет пустой отступ перед строкой. Если текст, в котором используется перевод строки, обтекает плавающий элемент, то с помощью атрибута clear тега
можно сделать так, чтобы следующая строка начиналась ниже элемента.
Синтаксис
Текст
текст
Текст
текст
Атрибуты
clear Сообщает браузеру, как обрабатывать следующую строку, если текст обтекает плавающий элемент.
Закрывающий тег
HTML5 IE Cr Op Sa Fx
Тег BR Р.Л. Стивенсон
Лето в стране настало,
Вереск опять цветет.
Но некому готовить
Вересковый мед.
Результат данного примера показан на рис. 1.

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

HTML5

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

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

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

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

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

Видео

Документ

Звук

Изображения

Объекты

Скрипты

Списки

Ссылки

Таблицы

Текст

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

Формы

Фреймы
Как вставить пустую строку в 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, конечно).
Варианты вида «отловить начало параграфа, закрыть -ы, запомнить их параметры, начать новый абзац с открытия нового с теми же параметрами, прошу не предлагать. Текста у нас много, а сервер один и ему есть чем заняться, кроме как типографской версткой для вывода на экран.