Лучший способ пропустить строку в 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
Ещё вопросы
- 1 Вычисление косинусного сходства между двумя тензорами в Керасе
- 1 Получить уровень «подписи» на Android
- 1 Вставка в базу данных с помощью LINQ
- 1 Трубка не распознается затмением «в автономном режиме»?
- 1 Как сделать запрос к инвертированному индексу с нефиксированным количеством ключевых слов?
- 0 Редактирование существующего ввода .val () без влияния на другие входные значения val ()
- 1 Запрос разрешения камеры для WebView во время выполнения
- 0 Qt 4.8.4 Релизная версия не работает на 64-битной Windows 7
- 1 Ускорьте поиск и вставьте в параллельную сумку c #
- 1 Plotly / dash — модуль ‘dash_html_components’ не имеет члена ‘Div’
- 1 Установить Enum Array на основе другого массива Enum в той же модели — Mongoose
- 0 angularjs app.service (…) вызывает «Uncaught TypeError: undefined не является функцией»
- 1 Формулы теряются при обновлении строки
- 1 Как пишется импорт пакетов / модулей Python для этой ситуации?
- 1 Измените цвет отдельных ящиков на участках с пандой
- 1 Эффективный способ вычисления матрицы расстояний в NumPy
- 1 Вы можете подавить запрос «Duplicate Mark» в Revit во время программы на c #?
- 0 Как лучше всего связать обещания при использовании решимости Angular: <>?
- 1 Скачать холст в PNG на черном фоне
- 1 Почему этот простой пример блока синхронизированного кода Java дает мне различный вывод в зависимости от того, на каком объекте я блокируюсь?
- 0 Вложенные элементы div не расположены должным образом
- 1 Как вы LoadUserPofile из внутри NamePipeServerStream.RunAsClient?
- 0 Пользовательский интерфейс jQuery, сбрасываемый за пределы видимой области jScrollpane, ловит событие удаления
- 1 Как убрать черную полосу, появляющуюся внизу?
- 1 SUM () в SQL для LINQ
- 1 Сортировка многомерного массива в JavaScript?
- 0 Сконфигурируйте пользовательский интерфейс Angularjs из Java перед загрузкой сетки
- 1 Как внедрить конфигурацию среды в разные угловые модули?
- 0 Как сохранить состояние входного переключателя после обновления страницы
- 0 Цвет чередующихся строк для каждого нового элемента dom, добавленного в angularjs
- 1 неопределенное число после удаления специальных символов JavaScript
- 0 Я новичок в веб-браузере Android и использую JavaScript
- 0 C ++ FileRead использование
- 0 Как поменять элемент H1 с H1 в другом документе, используя JQuery
- 1 Не может наследовать внутри того же пакета в Java
- 0 Как привязать сгенерированные d3 HTML-элементы к области видимости?
- 1 Какой из них хорош для лучшей производительности?
- 0 Неправильное сравнение строк с использованием strtok ()
- 1 Как получить наиболее близкие повторяющиеся значения в массиве к целевому значению, используя Javascript?
- 1 Есть ли способ получить данные из JSON URL
- 1 Android: отображение неверной даты окончания (за день до фактической даты) в Календаре Google при добавлении события с намерением
- 0 Ожидаемый возврат алгоритма поиска STL
- 0 Скрытие тела таблицы, когда все строки скрыты в angularjs
- 0 angularjs: проверить длину фильтра в повтор
- 1 Понимание вывода pdb после pdb.set_trace ()
- 0 Как поместить в текст внутри
в html + css?
- 0 как получить строку, содержащуюся в div
- 0 Поведение компилятора для целочисленных указателей на необъявленную память
- 0 Область применения в функциях ссылок
- 1 Что является противоположностью POJO?
Как заставить пустой тег
быть высотой в одну строку?
Столкнулся с проблемой. Фреймверк Qt, при генерировании HTML-кода редактируемой области, создает такой HTML:
. Можно дать команду:
$ mencoder -ovc help
.
Средний тег
— пустой. В браузерах на WebKit он отображается как отдельная пустая строка. А в Opera и Firefox он никак не отображается, то есть верхний и нижний
смыкаются.
Если поставить пробел в содержимое среднего тега, то отдельная пустая строка появляется.
Вопрос. Можно ли через CSS настроить свойства элемента
так, чтобы он даже будучи пустым, отображался как отдельная пустая строка?
Как сделать пустую строку в 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
В атрибуте colspan указывается количество колонок для объединения.
Отслеживать
ответ дан 23 авг 2019 в 10:13
717 5 5 серебряных знаков 15 15 бронзовых знаков
У вас все строки не отличаются содержанием 🙂
23 авг 2019 в 10:27
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
