HTML 5: это,, или?

Я пробовал проверять другие ответы, но я все еще смущен-особенно после того, как увидел W3schools по HTML 5 справочник.

Я думал, что HTML 4.01 должен был "разрешить" одинарные теги просто быть <img> и <br>. Затем XHTML пришел вместе с <img /> и <br /> (где кто-то сказал, что место есть для старых браузеров).

теперь мне интересно, как я должен форматировать свой код при практике HTML 5.

<!DOCTYPE HTML>

это <br>, <br/> или <br />?

24 ответов


просто <br> вполне достаточно.

другие формы существуют для совместимости с XHTML; чтобы сделать возможным написать тот же код, что и XHTML, и он также работает как HTML. Некоторые системы, которые генерируют HTML, могут быть основаны на генераторах XML и, таким образом, не имеют возможности выводить только голые <br> tag; если вы используете такую систему, это нормально использовать <br/>, это просто не нужно, если вам не нужно это делать.

очень немногие люди фактически используют XHTML, однако. Вы должны обслуживать свой контент как application/xhtml+xml для его интерпретации как XHTML, и это не будет работать в старых версиях IE - это также будет означать, что любая небольшая ошибка, которую вы сделаете, предотвратит отображение вашей страницы в браузерах, которые поддерживают XHTML. Таким образом, большая часть того, что выглядит как XHTML в интернете, фактически обслуживается и интерпретируется как HTML. См.обслуживание XHTML в качестве текста / html считается вредным для получения дополнительной информации.


Я думаю, что эта цитата из HTML 5 Reference Draft дает ответ:

некоторые элементы, однако, запрещены от содержания любого содержания вообще. Они известны как пустотные элементы. В HTML, выше синтаксис не может быть использован для элементов пустоты. Для таких элементов, тег end должен быть опущен, так как элемент автоматически закрывается анализатор. Такие элементы включают, среди прочих, br, hr, link и meta

пример HTML:

<link type="text/css" rel="stylesheet" href="style.css">

в XHTML синтаксический XML требования диктуют, что это должно быть ясно с помощью явной конец тега, как указано выше, или пустой синтаксис элемента. Это достигается путем вставка косой черты в конце начать тег непосредственно перед правой угольник.

пример:

<link type="text/css" href="style.css"/>

авторы могут по желанию использовать этот же синтаксис для элементов void в синтаксис HTML также. Некоторые авторы также выберите Включить пробелы перед косой чертой, однако это не необходимый. (Используя пробелы в этом мода-это условность, унаследованная от принципы совместимости в XHTML 1.0, Приложение C.)


XML не позволяет оставлять теги открытыми, поэтому он делает <br> немного хуже, чем остальные два. Два других примерно эквивалентны второму предпочтительному для совместимости со старыми браузерами. На самом деле, пространство перед / предпочтительнее для совместимости, но я думаю, что это имеет смысл только для тегов, которые имеют атрибуты. Так что я бы сказал либо <br/> или <br />, какой угодно вашей эстетике.

подводя итог: все три действительны, причем первый из них немного меньше "портативный."

редактировать: теперь, когда мы все без ума от спецификаций, я думаю, стоит отметить, что в соответствии с dev.w3.org:

Start теги состоят из следующих части, точно в следующем порядке:

  1. символа"
  2. имя тега элемента.
  3. дополнительно, один или несколько атрибутов, каждый из которых должен быть перед одним или несколькими пространствами письмена.
  4. необязательно, один или несколько пробелов.
  5. необязательно символ"/", который может присутствовать, только если элемент-это элемент пустоты.
  6. символ">".

на HTML (до HTML 4) используйте <br>

на HTML 5: <br> предпочтительнее, но <br/> и <br /> - Это также приемлемо

на XHTML: <br /> предпочтительнее. Также можно использовать <br/> или <br></br>

Примечания:

  • <br></br> недопустимо в HTML 5, это будет рассматриваться как два разрыва строки.
  • XHTML чувствителен к регистру, HTML не является регистром чувствительный.
  • для обратной совместимости некоторые старые браузеры будут анализировать XHTML как HTML и терпеть неудачу на <br/> а не <br />

ссылки:


по словам spec ожидаемая форма <br> для HTML 5, но разрешена закрывающая косая черта.


XML требует, чтобы все теги имели соответствующий закрывающий тег. Таким образом, существует специальный синтаксис короткой руки для тегов без внутреннего содержимого.

HTML5 не является XML, поэтому он не должен представлять такое требование. Не является HTML 4.01.

например,в HTML5 спецификаций, все примеры с br tag use <br> синтаксис, а не <br/>.

UPD на самом деле <br/> и разрешено в HTML5. 9.1.2.1, 7.


Я бы рекомендовал использовать
по следующим причинам:

1) текстовые и XML-редакторы, которые выделяют синтаксис XML в разных цветах, будут правильно выделяться с помощью
, но это не всегда так, если вы используете

2) обратно совместим с XHTML и хорошо сформированный HTML (то есть: XHTML) часто легче проверить на наличие ошибок и отладки

3) Некоторые старые синтаксические анализаторы и некоторые спецификации кодирования требуют места перед закрывающей косой чертой (т. е.:
вместо
), такие как WordPress плагин кодирования спецификации:http://make.wordpress.org/core/handbook/coding-standards/html/

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


и <br> и <br /> приемлемы в HTML5, но в духе HTML,<br> должен быть использован. HTML5 позволяет закрывать косые черты, чтобы быть более совместимыми с документами, которые ранее были HTML 4.01 и XHTML 1.0, что позволяет упростить миграцию в HTML5. Конечно,<br/> также приемлемо, но для совместимости с некоторыми старыми браузерами должно быть пространство перед закрывающей косой чертой (/).


Если вас интересует сопоставимость (не совместимость, а сопоставимость), тогда я бы придерживался <br />.

в противном случае,<br> это нормально.


  1. если вы выводите HTML на обычный веб-сайт, вы можете использовать <br> или <br/>, оба действительны в любое время вы служите HTML5 как text/html.

  2. если вы обслуживаете HTML5 как XHTML (т. е. приложение типа контента / xhtml+xml, с объявлением XML), то вы должны использовать самозакрывающийся тег, например:<br/>.

    если вы не некоторые браузеры могут категорически отказаться от рендеринга вашей страницы (Firefox, в частности, очень строгий о рендеринге только допустимых страниц xhtml + xml).

    как отмечено в 1. <br/> также действителен для HTML5, который генерируется как XML, но служит обычным текстом / html без объявление XML (например, из преобразования XSL, которое генерирует веб-страницы или что-то подобное).

чтобы прояснить путаницу: размещение пробела перед косой чертой не требуется в HTML5 и не имеет никакого значения, как страница отображается (если кто - то может привести пример, я откажусь от этого, но я не верю, что это правда, но IE, безусловно, делает много других странных вещей со всеми формами <br> теги).

превосходный валидатор на http://validator.w3.org действительно полезно для проверки того, что действительно (хотя я не уверен, что вы можете положиться на него, чтобы также проверить тип контента).


и <br> и <br/> будет хорошо, но я предпочитаю <br/> потому что это немного более логично. Логично ожидать закрывающий тег всякий раз, когда есть открывающий тег. Поэтому ваш код немного легче читать, если вы не используете открывающий тег, когда не будет закрывающего тега.

все браузеры (за исключением, возможно, некоторых очень старых, которые не имеют значения) будут отображаться одинаково. Однако,<br> не является XHTML complient.


<br> и <br/> отображаться по-другому. Некоторые браузеры интерпретируют <br/> as <br></br> и вставить два разрыва строки


при проверке данного вопроса, это действительно зависит от того, что !DOCTYPE вы пытаетесь получить проверку через.

мой личный фаворит 4.01 Trans где я просто использовать <br/> и он очищает предупреждения и ошибки, которые могли появиться во время проверки

строгий гораздо более сложный зверь, он ненавидит "SHORTTAGS" и совсем буквально только хочет <br></br>

на HTML5 или "слабость" мира кода, на самом деле нет права ответьте, потому что это 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 />).

Hackability

это не тот случай, когда рамки, как реагировать и NativeScript используйте XML-нотацию.
Разметку кода будет легче разобрать.

ясность

регулярные обозначения легче читать и понимать, даже поздно вечером.

технические характеристики

и <br> и <br /> являются допустимыми тегами HTML.

вывод

если вы используете полнофункциональный текстовый редактор, настройте его на использование обычной нотации (которая называется XHTML Эммет).
Например, в Код Visual Studio вы просто должны добавьте в настройки следующую строку:

"emmet.syntaxProfiles": {"html": "xhtml"}

Ну, все, что я знаю, это <br /> дает перерыв с белой линией и <br> просто дает перерыв в некоторых случаях. Это произошло со мной, когда я настраивал IPN-скрипт (PHP) и отправлял письма и проверял входящие на него. Не знаю, почему, но я только получил сообщение, чтобы выглядеть аккуратно, используя оба <br /> and <br>

посмотрите на почту здесь:http://snag.gy/cLxUa.jpg

первые два раздела текста разделены на <br />, следовательно, строки пробелов, последние три строки текста внизу, а последний раздел разделен <br> и просто дает новую строку.


в HTML <br> и в XHTML <br/>.

я предложу вам использовать <br/>.


на в HTML5 косая черта больше не нужна: <br>, <hr>


<br> достаточно, но в XHTML <br /> предпочтительно согласно WHATWG и согласно W3C.

цитата 8.1.2.1 of HTML 5.2 W3C рекомендация, 14 декабря 2017

Start теги должны иметь следующий формат:

...

  1. после атрибутов или после имени тега, если атрибутов нет, может быть один или несколько пробелов. (Некоторые атрибуты должны сопровождаться пробелом. См. §8.1.2.3 атрибуты ниже.)

  2. тогда, если элемент является одним из элементов void или если элемент является внешним элементом, то может быть один символ U+002F SOLIDUS (/). Этот символ не влияет на элементы void, но на внешние элементы он помечает начальный тег как самозакрывающийся.

Если вы используете Dreamweaver CS6, то это будет автозаполнение как <br />.

для проверки вашего HTML-файла на W3C см.:http://validator.w3.org/


как и многие другие, прикрыли, как <br> и <br/> приемлемы.

Я думаю, что компромисс-лучшая читаемость и обратная совместимость <br/> против отправки одного символа конечным пользователям с <br>.

и с Google использует <br> Я тоже.

(конечно, имейте в виду, что они могут служить мне <br> потому что я использую Chrome, который, как они знают, поддерживает его. В IE они все еще могут служить <br/>)


<br> работает просто отлично. Более строгие версии, такие как XHTML, требуют добавления закрытия и действительно старых версий HTML, которые не включают DOCTYPE сделать <br> тег Non-void, например <br></br>.

Sum up:<br> - Это хорошо. Другие тоже в порядке.


большинство случаев в HTML, теги находятся в паре. Но для разрыва линии вам не нужна пара тегов. Поэтому для обозначения этого HTML использует . <br/> является правильным. Используйте этот формат.

<br> тег не имеет конечного тега в HTML В XHTML <br> тег должен быть закрыт, как это: <br />

в XML каждый тег должен быть закрыт. XHTML является расширением XML, поэтому для допустимого XHTML должны соблюдаться все правила XML. Следовательно, даже пустой теги (узлы без дочерних узлов), такие как
должен быть закрыт. XML имеет короткую форму, называемую самозакрывающимися тегами для пустых узлов. Вы можете написать <br></br> as <br />. Следовательно, в XHTML это.

HTML очень снисходителен в этом отношении, и такого правила нет. Поэтому в HTML пустые узлы, такие как <br> <hr> <meta> etc записываются без закрывающей косой черты.

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.


Эммм.....кто-нибудь знает одного поставщика, агента пользователя или производителя браузера, который когда-либо следовал спецификациям W3C 100%??? Поэтому, если HTML5 говорит, что поддерживает все три версии break element, вы можете поспорить, что поставщики поддерживают те же и даже более небрежные версии!

единственное, что имеет значение в этих дебатах, - это последовательно использовать кодирование, которое также соответствует спецификациям XML, а также спецификациям HTML, когда это возможно. Это означает, что вы должны использовать правильный XML версия тега break и поощрять всю вашу команду, чтобы сделать то же самое:

<br />

тот же формат косой черты должен применяться для тегов img, a, hr и meta в вашем коде. Почему? Потому что:

  1. он обратно совместим со старыми XHTML user-agents / browsers
  2. поставщики браузеров поддерживают версию XML в любом случае, поэтому спецификация HTML5 спорна.
  3. небрежные реализации большинства пользовательских агентов сегодня, в прошлом и в будущем приму это.
  4. это позволяет вашей разметке быть сопоставимой со стандартами XML, если вам нужно вернуться к созданию документов XHTML/XML из вашей разметки.
  5. это "хорошая практика кодирования" для всех веб-разработчиков, чтобы продолжать использовать твердые методы разметки, которые следуют XML, включая кодирование во всех нижнем регистре, цитируемые атрибуты, экранированные символы XML и т. д. так далее. Почему? В будущем, если вам нужно переключиться на XML-данные, вы автоматически кодируете и думаете в XML.
  6. мы можем только надеемся, что в будущем World Wide Web мы отойдем от стандартов, внедренных частными поставщиками, и вернемся к надежной, проверенной разметке, которая быстрее анализирует, быстрее перемещает данные по проводам и делает наш будущий Интернет более стандартизированным носителем с использованием XML.

кроме того, в роботизированном и машинном мире, который здесь, где у роботов нет тех же проблем кодирования человеческого интерфейса, которые решает для нас HTML5, они с удовольствием вернутся к системам данных XML и проанализируют такой UI web страницы намного быстрее при преобразовании в XML-данные.


<br> и <br /> render по-разному в некоторых браузерах, поэтому выбор любого из них не повредит вашему проекту, но ожидайте массового поиска..замените, чтобы повлиять на рендеринг страницы в некоторых браузерах, что может привести к дополнительной работе для себя или даже смущению, если изменение не повлияет ни на что в вашем тестовом браузере, но сломает его в предпочтительном браузере ваших клиентов.

предпочитаю <br> Так как это то, что я использовал с Erwise и Netscape Navigator (ранние веб-браузеры), но нет причин не выбирать <br /> вместо. Это может быть полезно для некоторой предварительной обработки, сопоставимости и т. д.

даже если ваш выбор сводится к предпочтению внешнего вида одного над другим, или вам (или вашему любимому редактору HTML, например Dreamweaver) может понравиться, что ваш код совместим с xml. Это до вас.

краткое Примечание:

не путать с br, но, кроме того, вы также можете рассмотреть возможность использования wbr теги в HTML: тег возможности разрыва слова, который указывает, где в тексте можно было бы добавить разрыв строки.

для дальнейшего чтения, пожалуйста, прочитайте HTML5 spec.


элементы без конечных тегов называются пустыми тегами. В html 4 и html 5 конечные теги не требуются и могут быть опущены.

в xhtml теги настолько строги. Это означает, что должно начинаться с тега start и заканчиваться тегом end.