Я пробовал проверять другие ответы, но я все еще смущен - особенно после просмотра Справка W3schools HTML 5.
Я думал, что HTML 4.01 должен был "разрешить" одиночные теги только быть <img>
и <br>
. Затем XHTML пришел вместе с <img />
и <br />
(где кто-то сказал, что пространство существует для более старых браузеров).
Теперь мне интересно, как я должен отформатировать свой код при работе с HTML 5.
<!DOCTYPE HTML>
Это <br>
, <br/>
или <br />
?
Просто <br>
достаточно.
Другие формы существуют для совместимости с XHTML; чтобы он мог писать тот же код, что и XHTML, и работать он также как HTML. Некоторые системы, генерирующие HTML, могут быть основаны на генераторах XML и, следовательно, не имеют возможности выводить только тег <br>
; если вы используете такую систему, отлично использовать <br/>
, это просто не обязательно, если вам не нужно это делать.
application/xhtml+xml
для его интерпретации как XHTML, и это не будет работать в старых версиях IE - это также означает, что любая небольшая ошибка, которую вы делаете, будет препятствовать тому, чтобы ваша страница отображалась в браузерах, которые делают поддержка XHTML. Таким образом, большинство из того, что похоже на XHTML в Интернете, фактически обслуживается и интерпретируется как HTML. См. Обслуживание XHTML как text/html считается вредоносным для получения дополнительной информации.Я думаю, что эта цитата из HTML 5 Reference Draft дает ответ:
Некоторые элементы, однако, запрещены от содержания какого-либо контента вообще. Они известны как пустотные элементы. В HTML, приведенный выше синтаксис не может быть использован для недействительных элементов. Для таких элементов, конечный тег должен быть опущен, поскольку элемент автоматически закрывается парсер. Такие элементы включают, среди прочих, br, hr, link и metap >
Пример HTML:
<link type="text/css" rel="stylesheet" href="style.css">
В XHTML синтаксис XML требования диктуют, что это должно быть явно или явно end tag, как указано выше, или пустой синтаксис элементов. Это достигается вставка косой черты в конце начать тег непосредственно перед правом угловой кронштейн.
Пример:
<link type="text/css" href="style.css"/>
Авторы могут по выбору выбрать использование этот же синтаксис для элементов void в синтаксис HTML. Некоторые авторы также выберите включение пробелов перед косой чертой, однако это не необходимо. (Использование пробелов в этом мода - это соглашение, унаследованное от рекомендации по совместимости в XHTML 1.0, Приложение С.)
XML не позволяет оставить теги открытыми, так что делает <br>
немного хуже, чем два других. Два других примерно эквивалентны второму (<br/>
), предпочтительному для совместимости со старыми браузерами. На самом деле, пробел перед /
предпочтителен для совместимости, но я думаю, что это имеет смысл только для тегов, имеющих атрибуты. Так что я бы сказал, <br/>
или <br/>
, в зависимости от вашей эстетики.
Подводя итог: все три действительны с первым (<br>
), который является немного менее "переносимым".
Изменить: Теперь, когда мы все без ума от спецификаций, я думаю, что стоит указать, что в соответствии с dev.w3.org:
Начальные теги состоят из следующих частей, в точно следующем порядке:
- Символ "<".
- Элементы тега name.
- По желанию, один или несколько атрибутов, каждому из которых должен предшествовать один или несколько пробелов.
- При желании один или несколько пробелов.
- Необязательно, символ "/", который может присутствовать только в том случае, если элемент является пустым элементом.
- Символ ">".
/
это общий знаменатель здесь. HTML5, в частности, позволяет использовать /
: «Необязательно, символ« / », который может присутствовать, только если элемент является пустым элементом».
В HTML (до HTML 4): используйте <br>
В HTML 5: <br>
является предпочтительным, но <br/>
и <br />
также приемлемы
В XHTML: <br />
является предпочтительным. Можно также использовать <br/>
или <br></br>
Примечания:
<br></br>
недействителен в HTML 5, он будет рассматриваться как два разрыва строки.<br/>
, но не <br />
Ссылка:
<br/>
и <br />
(с пробелом) одинаковы, без каких-либо предпочтений. Смотрите спецификацию XML 1.0 . Пробел (SPACE, tab или LINE FEED) перед />
является необязательным, без каких-либо предпочтений.
В соответствии с spec ожидаемая форма <br>
для HTML 5, но допускается закрытие косой черты.
XML требует, чтобы все теги имели соответствующий закрывающий тег. Таким образом, существует специальный короткий синтаксис для тегов без внутреннего содержимого.
HTML5 не является XML, поэтому он не должен представлять такого требования. Также не HTML 4.01.
Например, в спецификации HTML5 все примеры с тегом br
используют синтаксис <br>
, а не <br/>
.
UPD На самом деле, <br/>
разрешено в HTML5. 9.1.2.1, 7.
Я бы рекомендовал использовать < br/" > по следующим причинам:
1) Текстовые и XML-редакторы, которые выделяют синтаксис XML в разных цветах, будут правильно выделяться с помощью < br/" > , но это не всегда так, если вы используете <br>
2) < br/" > обратно совместим с XHTML и хорошо сформированным HTML (то есть: XHTML) часто легче проверять ошибки и отлаживать
3) Некоторые старые синтаксические анализаторы и некоторые спецификации кодирования требуют пространства перед закрывающей косой чертой (например: < br/ " > вместо < br/" > ), например, спецификации кодирования WordPress: http://make.wordpress.org/core/handbook/coding-standards/html/
В моем опыте я никогда не сталкивался с ситуацией, когда использование < br/ " > проблематично, однако есть много случаев, когда < br/" > или особенно <br> может быть проблематичным в старых браузерах и инструментах.
Оба <br>
и <br />
допустимы в HTML5, но в духе HTML следует использовать <br>
. HTML5 позволяет закрывать косые черты, чтобы быть более совместимыми с документами, которые ранее были HTML 4.01 и XHTML 1.0, что облегчает переход к HTML5. Конечно, <br/>
также приемлемо, но чтобы быть совместимым с некоторыми более старыми браузерами, перед закрывающей косой чертой должно быть пробел (/
).
<br />
вполне приемлемо, и W3Schools не является спецификацией для HTML. См. Спецификацию HTML5 , в которой четко указано, что «Тогда, если элемент является одним из элементов void или если элемент является сторонним элементом , тогда может быть один символ« / »(U + 002F) . ]»
Если вы заинтересованы в сопоставимости (не совместимости, но сопоставимости), тогда я бы придерживался <br />
.
В противном случае <br>
в порядке.
Оба <br>
и <br/>
будут делать все, но я предпочитаю <br/>
, потому что это немного логичнее. Логично ожидать закрывающий тег всякий раз, когда есть открывающий тег. Поэтому ваш код немного легче читать, если вы не используете открывающий тег, когда не будет закрывающего тега.
Все браузеры (кроме, возможно, очень старых, которые не имеют значения) будут отображаться точно так же. Однако <br>
не является xHTML-уступчивым.
Если вы выводите HTML на обычный веб-сайт, вы можете использовать <br>
или <br/>
, оба действительны в любое время, когда вы используете HTML5 как text/html.
Если вы используете HTML5 как XHTML (то есть приложение типа контента /xhtml + xml с объявлением XML), вы должны использовать самозакрывающийся тег: <br/>
.
Если у вас нет некоторых браузеров, вы можете отказаться от предоставления своей страницы (особенно в Firefox очень строгий перевод только допустимых страниц xhtml + xml).
Как отмечено в 1. <br/>
также справедливо для HTML5, который создается как XML, но служит как обычный текст /html без объявления XML (например, из XSL Transform, которая генерирует веб-страницы или что-то похожее).
Чтобы устранить путаницу: помещая пробел, прежде чем косая черта не требуется в HTML5, и не имеет никакого значения, как страница отображается (если кто-нибудь может привести пример, я отступлю это, но я не знаю, t верьте, что это правда, но IE, безусловно, делает много других нечетных вещей со всеми формами тегов <br>
).
Отличный валидатор в http://validator.w3.org действительно полезен для проверки того, что действительно (хотя я не уверен, что вы можете положиться на него, чтобы проверить тип содержимого).
<br>
и <br/>
визуализировать по-разному. Некоторые браузеры интерпретируют <br/>
как <br></br>
и вставляют два разрыва строки
<br>
достаточно, но в XHTML <br/>
является предпочтительным в соответствии с WHATWG и в соответствии с W3C.
Процитировать раздел 8.1.2.1 рекомендации 5.2. W3C HTML, 14 декабря 2017 г.
Стартовые теги должны иметь следующий формат:
...
После атрибутов или после имени тега, если нет атрибутов, может быть один или несколько пробелов. (За некоторыми атрибутами требуется пробел. См. Ниже §8.1.2.3 "Атрибуты".)
Затем, если элемент является одним из элементов void или элемент является внешним элементом, тогда может быть один символ U + 002F SOLIDUS (/). Этот символ не влияет на элементы void, но на внешних элементах он отмечает начальный тег как самозакрывающийся.
Если вы используете Dreamweaver CS6, он будет автозаполнен как <br/>
.
Чтобы проверить свой HTML файл на W3C, см. Http://validator.w3.org/
При проверке этого вопроса действительно зависит от того, с чем !DOCTYPE
вы пытаетесь получить проверку.
Мой личный фаворит 4.01 Trans
, где я просто использую <br/>
, и он очищает предупреждения и ошибки, которые могут появиться во время проверки
Strict - гораздо более сложный зверь, он HATES "SHORTTAGS"
и буквально хочет только <br></br>
В HTML5
или в "LAX" мира кода действительно нет правильного ответа, потому что он detects every example you put up
там как правильный......
В конце концов, я думаю, что все, что имеет значение is what validation YOU PREFER
или the person that you are working for prefers
... с движением lackadaisical
в строгости кода в HTML5
, мы видим некоторые ОЧЕНЬ ЛАЗИРОВАННЫЕ КОДЫ
ИМХО, лучше использовать обычную нотацию (<br/>
) вместо прощающей нотации (<br>
) по следующим причинам:
В вашем HTML, вероятно, некоторые SVG и SVG поддерживают только стандартную нотацию (например, <rect/>
).
Это не тот случай, когда фреймворки, такие как React и NativeScript, используют нотацию XML.
Ваш код разметки будет легче анализировать.
Обычную нотацию легче читать и понимать, даже поздно ночью.
Оба <br>
и <br/>
являются действительными HTML - теги.
Если вы используете полноценный текстовый редактор, настройте его для использования обычной нотации (которая называется XHTML Emmet).
Например, в Visual Studio Code вам просто нужно добавить следующую строку в свои настройки:
"emmet.syntaxProfiles": {"html": "xhtml"}
<br></br>
действительна в X (HT) ML, но не в HTML.
В HTML5 слэш больше не нужен:
<br>
, <hr>
/>
. См. Разделы 8.1.2.1 и 2 . И посмотрите документ HTML vs. XHTML на whatwg.org и разметку полиглота W3C: надежный профиль словаря HTML5 на W3C.
В HTML <br>
и в XHTML <br/>
.
Я предлагаю вам использовать <br/>
.
Ну, все, что я знаю, это то, что <br />
дает разрыв с белой строкой, а <br>
просто дает перерыв в некоторых случаях. Это случилось со мной, когда я настраивал IPN- script (PHP) и отправлял письма и проверял для него папку "Входящие". Не знаю, почему, но я получил сообщение, чтобы выглядеть аккуратно, используя <br /> and <br>
Посмотрите на почту здесь: http://snag.gy/cLxUa.jpg
Первые два раздела текста разделяются на <br />
, поэтому строки пробелов, последние три строки текста внизу и в последнем разделе разделяются символом <br>
и просто дают новую строку.
Большинство случаев в HTML, теги находятся в паре. Но для разрыва строки вам не нужны пары тегов. Поэтому, чтобы указать это, HTML использует формат <br/>
. <br/>
является правильным. Используйте этот формат.
<br>
тег не имеет закрывающего тега в HTML В XHTML, то <br>
тег должен быть надлежащим образом закрыты, например: <br/>
В XML каждый тег должен быть закрыт. XHTML - это расширение XML, поэтому для правильного XHTML должны соблюдаться все правила XML. Следовательно, даже пустые теги (узлы без дочерних узлов), такие как
должны быть закрыты. XML имеет короткую форму, называемую самозакрывающимися тегами для пустых узлов. Вы можете написать <br></br> as <br/>
. Следовательно, в XHTML <br/>
используется.
HTML очень мягкий в этом отношении, и такого правила нет. Таким образом, в HTML пустые узлы, такие как <br> <hr> <meta>
т.д., Записываются без закрытия косой черты.
HTML
<br>
<hr>
<meta name="keywords" content="">
<link rel="canonical" href="http://www.google.com/">
XHTML
<br />
<hr />
<meta name="keywords" content="" />
<link rel="canonical" href="http://www.google.com/" />
Не все теги могут быть закрыты самостоятельно. Например, тегом типа <script src="jQuery.min.js"/>
не разрешено XHTML DTD.
<br>
работает отлично. Более строгие версии, такие как XHTML, требуют добавления закрывающих и действительно старых версий HTML, которые не включают DOCTYPE
make <br>
непустой тег, например <br></br>
.
Сумма: <br>
в порядке. Другие тоже просто прекрасны.
Как и многие другие, допустимы как <br>
, так и <br/>
.
Я думаю, что компромисс - это лучшая читаемость и обратная совместимость <br/>
по сравнению с отправкой одного меньшего символа конечным пользователям с <br>
.
И поскольку Google использует <br>
, так будет я.
(Конечно, имейте в виду, что они могут мне обслуживать <br>
, потому что я использую Chrome, который, как они знают, поддерживает его. В IE они все еще могут обслуживать <br/>
)
I know that the form <br> will work, though I still find myself going back to the older formats.
Ummm..... кто-нибудь знает одного поставщика, пользователя или агента браузера, который когда-либо следил за спецификациями W3C 100%??? Поэтому, если HTML5 говорит, что он поддерживает все три версии элемента break, вы можете поспорить, что поставщики поддерживают те же самые и даже более sloppier-версии!
Единственное, что имеет значение в этих дискуссиях, - это ПОСТОЯННО использовать кодирование, которое также, по возможности, соответствует спецификациям XML, а также спецификациям HTML. Это означает, что вы должны использовать правильную XML-версию тега break и поощрять всю свою команду делать то же самое:
<br />
Тот же формат пространства-косой черты должен применяться для тегов img, a, hr и meta в вашем коде. Зачем? Потому что:
Кроме того, в мире роботов и машин, где здесь, где у роботов нет одинаковых проблем с кодированием человеческого интерфейса, которые мы решаем для HTML5, они с радостью вернутся к системам данных XML и проанализируют такие веб-страницы пользовательского интерфейса намного быстрее, преобразованный в данные XML.
<br>
и <br />
визуализируются по-разному в некоторых браузерах, поэтому выбор одного из них не повредит вашему проекту, но ожидайте, что массовая находка... может повлиять на рендеринг страницы в некоторых браузерах, что может привести к дополнительной работе для себя или даже к смущению, если изменение ничего не повлияет на ваш тестовый браузер, но сломайте его в предпочтительном браузере ваших клиентов.
Я предпочитаю <br>
, так как это то, что я использовал с Erwise и Netscape Navigator (ранние веб-браузеры), но нет причин не выбирать <br />
. Это может быть полезно для некоторой предварительной обработки, сопоставимости и т.д.
Даже если ваш выбор сводится к предпочтению взгляда одного над другим, или вам (или вашему любимому редактору HTML, например Dreamweaver), может потребоваться, чтобы ваш код был совместимым с xml. Это зависит от вас.
Быстрая заметка:
Не путайте с br
, но, кроме того, вы можете также рассмотреть использование тегов wbr
в своем HTML: тег возможности разрыва слова, который указывает, где в тексте было бы нормально добавить разрыв строки.
Для дальнейшего чтения, пожалуйста, прочитайте спецификацию HTML5.
<br>
, конечно, является пустым элементом, как вы можете видеть в ссылке в цитате.
Элементы без концевых тегов называются пустыми тегами. В html 4 и html 5 конечные теги не требуются и могут быть опущены.
В xhtml теги настолько строгие. Это означает, что нужно начинать с начального тега и заканчивать конечным тегом.
<br/>
- это то же самое, что и<br></br>
, но последний не является допустимым HTML.