HTML 5: чи це, <br/> чи <br />?


2032

Я намагався перевірити інші відповіді , але я все ще плутаюся, особливо після перегляду посилань на W3schools HTML 5 .

Я думав, що HTML 4.01 повинен був "дозволити" однотипні теги просто бути <img>і бути <br>. Потім XHTML прийшов разом із <img />і <br />( де хтось сказав, що місце для старих браузерів є ).

Тепер мені цікаво, як я повинен форматувати свій код під час використання HTML 5.

Це <br>, <br/>чи <br />?


Незалежно від того, ким ви користуєтесь сьогодні, врахуйте, що деякі допоміжні технології (наприклад, зчитувачі екрану), ймовірно, оголосять про це. NVDA каже, наприклад, "порожнє". Користувачі екранного зчитувача, швидше за все, не отримають нічого, крім шуму від цього додаткового оголошення. Подумайте про додавання role="presentation"атрибуту, за винятком тих рідкісних випадків, коли розрив рядків функціонує як "вміст".
brennanyoung

Відповідно до поточної специфікації "6. Тоді, якщо елемент є одним з недійсних елементів або якщо елемент є стороннім елементом, то може бути один символ U + 002F SOLIDUS (/). Цей символ не впливає на недійсність елементи " html.spec.whatwg.org/multipage/syntax.html#start-tags
Тім Абел

Відповіді:


1543

Просто <br>достатньо.

Інші форми існують для сумісності з XHTML; щоб можна було написати той самий код, що і XHTML, і щоб він також працював як HTML. Деякі системи, що генерують HTML, можуть базуватися на XML-генераторах і, отже, не мають можливості виводити лише головий <br>тег; якщо ви використовуєте таку систему, це нормально використовувати <br/>, вона просто не потрібна, якщо вам це не потрібно робити.

Однак дуже мало людей використовують XHTML. Вам потрібно подавати свій вміст, application/xhtml+xmlщоб він інтерпретувався як XHTML, і це не працюватиме у старих версіях IE - це також означатиме, що будь-яка невелика помилка, яку ви зробите, не дозволить вашій сторінці відображатися в браузерах, які підтримують XHTML. Отже, більшість того, що схоже на XHTML в Інтернеті, насправді подається та інтерпретується як HTML. Додаткову інформацію див. У розділі Обслуговування XHTML як тексту / html .


23
Але наявність дійсного xml так чи інакше не означає, що обслуговує xhtml. Це може бути корисно для всіх видів локальної попередньої обробки.
Майкл Крелін - хакер

29
Так, але ви повинні бути дуже обережними, обробляючи HTML як XML. Вони різні мови, і сумісний лише підмножина кожної з них. Наприклад, у XML <br/>- те саме <br></br>, але останній не є дійсним HTML.
Брайан Кемпбелл

10
Брайан, ідея полягала в тому, що ти можеш мати ваш HTML добре сформованим xml, ось і все. Звичайно, перетворюючи одне на інше, ви повинні переконатися, що воно все ще діє, але чи варто згадати? :)
Майкл Крелін - хакер

5
@Marco Я не думаю, що document.write страшенно швидкий порівняно з фактичним (x) html (тому що він повинен бути виконаний). У будь-якому випадку, Javascript не обов'язково доступний на всіх комп’ютерах, тому веб-сайти, які надмірно покладаються на них, не дуже гнучкі. Також html не має функцій.
Michael0x2a

8
@Marco: Так, я не знав, document.write що не працює в xhtml - дякую за обмін. Я погоджуюсь, що веб-сайти, які майже на 100% покладаються на Javascript, намагаються сказати, що веб-сайти, які майже на 100% покладаються на Javascript, намагаються сказати, що крихкі і можуть виходити з ладу, коли користувачі відключають javascript (або використовують старі телефони чи щось)
Michael0x2a

227

Я думаю, що ця цитата з довідкового проекту HTML 5 дає відповідь:

3.2.2.2 Пустотні елементи

Термін void елементи використовується для позначення елементів, які повинні бути порожніми . Ці вимоги стосуються лише синтаксису HTML. У XHTML всі такі елементи розглядаються як звичайні елементи, але повинні бути позначені як порожні елементи.

Цим елементам заборонено взагалі містити будь-який вміст. У HTML ці елементи мають лише початковий тег . Самозакриваються теги синтаксис може бути використаний. Закриває тег повинен бути опущений , оскільки елемент автоматично закривається аналізатором.

Приклад HTML:
недійсний елемент у синтаксисі HTML. Це не дозволено в синтаксисі XHTML.

<hr>

Приклад:
недійсний елемент, що використовує синтаксис тегів, що самозакриваються HTML-та XHTML-сумісний.

<hr/>

Приклад XHTML:
недійсний елемент, що використовує синтаксис тільки для XHTML з явним кінцевим тегом. Це не дозволено для недійсних елементів у синтаксисі HTML.

<hr></hr>

22
Отже, відповідь полягає в кодуванні бажано без косої риски та пробілу, але наявність косою косою рисою (з пробілом чи без) - необов’язково?
Ейкерн

67
Мені подобається те, що специфікація не особливо конкретна (на даний момент) "Мех, роби те, що ти хочеш!"
Метт Еллен

42
Оскільки це необов’язково, мені подобається більше, />тому що це добре для читабельності.
BrunoLM

38
Мені подобається явно закривати свої теги без будь-якої причини, крім того, що це відчуває себе правильно і має сенс, коли я читаю / пишу код. Мені приємно, що проект довідки HTML5 погоджується зі мною.
Помилка синтаксису

7
Здається для мене досить специфічно. <br> та <br /> - це законний HTML5.
Вільям Денніс

135

XML не дозволяє залишати теги відкритими, тому це робить <br>трохи гірше, ніж інші два. Інші два є приблизно еквівалентними другому ( <br/>), переважним для сумісності зі старими браузерами. Насправді, простір раніше /віддають перевагу заради сумісності, але, думаю, це має сенс лише для тегів, які мають атрибути. Тож я б сказав, що <br/>або <br />, що завгодно буде вашою естетикою.

Підсумовуючи це: всі три дійсні, коли перший ( <br>) трохи менше "портативний".

Редагувати : Тепер, коли ми всі божевільні від специфікацій, я вважаю, що варто зазначити, що згідно dev.w3.org :

Початкові теги складаються з таких частин у точно наступному порядку:

  1. Символ "<".
  2. Назва тегу елемента.
  3. Необов'язково один або кілька атрибутів, кожному з яких повинен передувати один або більше символів пробілу.
  4. За бажанням, один або кілька символів пробілу.
  5. Необов’язково символ "/", який може бути присутнім, лише якщо елемент є недійсним елементом.
  6. Символ ">".

17
HTML насправді не XML, він досить близький до нього.
голосувати

6
Так, це не так. Але /тут є загальний знаменник. HTML5 спеціально дозволяє використовувати /: "Необов'язково, символ" / ", який може бути присутнім, лише якщо елемент є недійсним елементом".
Майкл Крелін - хакер

4
helloworlder, я б сказав, що специфікація HTML5 близька до відповідності XML.
Майкл Крелін - хакер

5
Я просто хотів би додати, що і в XML і в HTML ML означає мову розмітки. Причина, що між ними так сильно збігається, полягає в тому, що вони обидва спочатку були визначені за допомогою SGML (стандартизованої узагальненої мови розмітки), але зараз її багато хто пам’ятає ...
Джон Вінсент,

4
@BennyNeugebauer, Якщо ви використовуєте regex для розбору html, вам більше чи менше залишається покладатися на свою удачу, а не на належним чином закриті теги ;-)
Майкл Крелін - хакер

104

У HTML (до HTML 4) : використовувати<br>

У HTML 5 : <br>це найбільш прийнятний, але <br/>і <br />також є прийнятним

У XHTML : <br />є кращим. Можна також використовувати <br/>або<br></br>

Примітки:

  • <br></br> Недійсний у HTML 5, він вважатиметься двома розривами рядків.
  • XHTML чутливий до регістру, HTML не враховує регістри.
  • Для зворотної сумісності деякі старі браузери будуть розбирати XHTML як HTML і не працювати, <br/>але ні<br />

Довідка:


перевірив посилання, кращим підходом є <br>, але де написано <br/> це неприйнятно?
JackDev

4
Для уточнення, для синтаксису, сумісного з XML, <br/>і <br />(з SPACE) рівні, без жодної переваги. Див . Специфікацію XML 1.0 Пробіл (SPACE, tab або LINE FEED) перед />опцією необов’язковий, без переваг.
Василь Бурк

1
Чи можете ви навести посилання на те, що синтаксис не XML є кращим у HTML5? Це для мене новина. Як я пам'ятаю, необов'язкова підтримка суворого відповідності XML була основоположною метою HTML5. Можливо, я щось пропустив у документі HTML проти XHTML на whatwg.org або в W3C Поліглот розмітці : надійний профіль словникового запасу HTML5 на W3C.
Василь Бурк

1
@BasilBourque Повторити повторення того, що я сказав вам десь в іншому місці. Прочитайте фактичну специфікацію в HTML5 для тегів та елементів, і ви ніколи не знайдете будь-яку рекомендацію чи пропозицію, яка вимагатиме або пропонує скористатись косою косою рискою для цих тегів. Якщо ви хочете використовувати XML або XHTML, ви не використовуєте HTML, і це вже інша історія. НЕ використовуйте кінець косої риски для цих тегів HTML. В іншому випадку, специфікація говорить, що ви можете помістити її туди, але це нічого не означає, нічого не робить, і браузерам доручається ігнорувати це. Тож безглуздо і марно використовувати будь-яке використання його так само безглуздо і марно.
Роб

@Rob Отже, Розділ 8.1.2.1. Початок теги з розділу 8. HTML синтаксис документа, HTML 5.2 W3C Recommendation 14 грудня 2017 , опублікований W3C не є фактичною специфікації HTML? Порадьте, будь ласка.
Василь Бурк


27

Я рекомендую використовувати <br />з наступних причин:

1) Текстові та XML-редактори, які виділяють синтаксис XML різними кольорами, підкреслять належним чином, <br />але це не завжди так, якщо ви використовуєте<br>

2) <br />є сумісним назад з XHTML, а добре сформований HTML (тобто: XHTML) часто простіше перевірити на помилки та налагодити

3) Деяким старим парсерам та деяким специфікаціям кодування потрібен простір перед косою косою (тобто: <br />замість <br/>), наприклад, специфікація кодування WordPress Plugin: http://make.wordpress.org/core/handbook/coding-standards/html/

З мого досвіду, я ніколи не стикався з <br />випадками, коли використання проблематично, проте є багато випадків, коли <br/>або особливо <br>може бути проблематичним у старих браузерах та інструментах.


1
Добре сформований HTML - це не XHTML.
jmarkmurphy

1
XHTML - це добре сформований HTML за визначенням. XHTML дотримується правил XML, згідно з w3schools "XML - це мова розмітки, де документи повинні бути правильно розмічені (бути" добре сформованими ") ... ... Комбінуючи сильні сторони HTML та XML, XHTML був розроблений. XHTML - це HTML, перероблений як XML. " (див. w3schools.com/html/html_xhtml.asp )
Kmeixner

2
HTML може бути добре сформованим, але не бути дійсним XML. W3Schools не завжди є найбільш авторитетним посиланням.
jmarkmurphy

Професор університетського курсу інформатики з веб-програмування, який я взяв у 1997 році, також висловив твердження, що xhtml - це добре сформований html. Я не впевнений, звідки ви отримуєте свою інформацію, чи можете ви навести будь-які офіційні джерела в Інтернеті, щоб зробити резервну копію вашої претензії?
Кмейкснер

1
@jmarkmurphy, я думаю, що, можливо, вам невідомий термін "добре сформований", який є технічним терміном жаргону, щоб посилатися на вимогу до стандартів XML і XHTML, що всі теги повинні мати закривальні теги і повинні бути вкладені в належному порядку . <hr> і <br> не відповідають вимогам XML і XHTML, оскільки вони не мають закриваючих тегів, наприклад: <br /> або <br> </br> є дійсними, <br> недійсні XHTML або XML . HTML, звичайно, не має чітко сформованої вимоги, тому <br> та <hr> дійсні лише в HTML.
Кмейкснер

20

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

HTML5 не є XML, тому він не повинен пред'являти такої вимоги. Ні HTML 4.01.

Наприклад, у специфікаціях HTML5 всі приклади з brтегом використовують <br>синтаксис, а не <br/>.

UPD На насправді, <br/>це дозволено в HTML5 . 9.1.2.1, 7.


2
"HTML5 не є XML, тому він не повинен пред'являти такої вимоги." Правильно це чи ні, залежить від тлумачення слова "HTML5". Якщо ми говоримо про HTML5 як про мову, то це твердження правильне. Якщо ж ми говоримо про HTML5 як специфікацію, то це твердження є невірним. Специфікація HTML5 визначає "словниковий запас та пов'язані API для HTML та XHTML". Я знаю, що це трохи непритомно, я не кажу, що ця відповідь неправильна, просто даю додаткову інформацію для читача.
Крістіан Худжер

14

Якщо вас цікавить порівнянність (не сумісність, а порівнянність), я б дотримувався цього <br />.

В іншому випадку, <br>це добре.


1
Хтось повинен відкотити це назад. Значення змінюється.
Йосія

9
Що розуміється під порівняльністю? Я не розумію.
tuxayo

12

І те, <br>і <br />прийнятне в HTML5, але в дусі HTML, <br>слід використовувати. HTML5 дозволяє закрити косої риски, щоб бути більш сумісним з документами, які раніше були HTML 4.01 та XHTML 1.0, що дозволяє простіше перейти до HTML5. Звичайно, <br/>також прийнятно, але щоб бути сумісним із деякими старими браузерами, перед закритою косою рисою ( /) має бути пробіл .


1
@ Knickerless-Noggins Я не впевнений, де ти це читаєш, але <br />цілком прийнятно, і W3Schools не є специфікацією для HTML. Дивіться специфікацію HTML5 , де чітко сказано, що "Тоді, якщо елемент є одним з недійсних елементів або якщо елемент є стороннім елементом , то може бути один символ" / "(U + 002F) . [Наголос додано ] "
kevinji

Цей Відповідь, як і інші, неправильно заперечує законність суворої відповідності XML у HTML5. Підтримка XML є не є тимчасовою функцією переходу або міграції. Основна мета HTML5 була необов'язковою підтримкою відповідності XML. Це важлива особливість для людей, які використовують інструменти XML для роботи зі своїм HTML-вмістом.
Василь Бурк

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

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

    Якщо у вас немає, деякі веб-переглядачі можуть відмовитись від відображення вашої сторінки (зокрема, Firefox дуже суворо ставиться до надання лише дійсних xhtml + xml-сторінок).

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

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

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


зачекайте, текстовий / html-міметик суворий XML
amwinter

1
Не слід подавати його з декларацією XML, якщо ви використовуєте текст / html, але вміст може бути інакше дійсним XML (наприклад, генерується з чогось, що виводить XML, наприклад, вихід XSLT або об'єкт, який серіалізується в XML).
Ієн Коллінз

Ще не розумію: якщо текст / html повинен мати a <br />, коли я повинен використовувати незакрите <br>?
amwinter

1
Пробачте, обидва технічно дійсні для HTML5, якщо це через текст / html. Ви можете підтвердити це за допомогою (здебільшого) дивовижного валідатора на validator.w3.org . Моє формулювання вище є поганим. Я бачу, що зараз його слід редагувати.
Ієн Коллінз

3
Я думаю, що це не сподобалось Netscape Navigator 3 або 4, і <br/>, звичайно, нічого не турбувати в цей день і вік.
robertc

12

І те <br>і <br/>інше, але я вважаю <br/>за краще, тому що це трохи логічніше. Логічно очікувати закриття тегу кожного разу, коли є тег відкриття. Тому ваш код трохи простіше читати, якщо ви не використовуєте тег відкриття, коли не буде закритого тегу.

Усі веб-переглядачі (крім, можливо, дуже старих, які не мають значення) відображатимуться як однаково, так і інше. Однак, <br>це не комплаєнт xHTML.


7

<br>і <br/>відображати по-різному. Деякі браузери інтерпретують <br/>як <br></br>і вставляють два розриви рядків


12
Що? Чи знаєте ви, які браузери?
Ейкерн

7
Знайшли це під час тестування браузерів епохи ie5 / ns4. Якщо я правильно пам'ятаю, це було в режимі дотримання стандартів. Але це було давно ...
Самуїл

3
Для строгих браузерів HTML4 (це практично лише валідатор HTML4), <br />означає <br>&gt;.
Конрад Боровський

7

<br>є достатньою, але в XHTML <br />кращим є згідно WHATWG та W3C .

Цитую Розділ 8.1.2.1 з HTML 5.2 W3C Recommendation 14 грудня 2017

Початкові теги повинні мати такий формат:

  1. Після атрибутів або після імені тега, якщо атрибутів немає, може бути один або кілька символів пробілу. (Деякі атрибути повинні проходити через пробіл. Див. § 8.1.2.3 Атрибути нижче.)

  2. Тоді, якщо елемент є одним з недійсних елементів, або якщо елемент є стороннім елементом, то може бути один символ U + 002F SOLIDUS (/). Цей символ не впливає на недійсні елементи, але на сторонні елементи він позначає початковий тег як самозакриваючись.

Якщо ви використовуєте Dreamweaver CS6, він автоматично завершиться як <br />.

Щоб перевірити свій HTML-файл на W3C, див. Http://validator.w3.org/


@Julix Дійсно, чому голоси "за"? Це один з небагатьох правильних відповідей на цій сторінці. HTML5 абсолютно відповідає XML, необов'язково, і в синтаксисі XML один тег повинен бути закритий косою рисою. Як такі прості факти можуть бути настільки помилковими, коли їх написано чорно-білими у специфікації .
Василь Бурк

5

Під час перевірки цього питання дійсно залежить від того, через що !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ми бачимо деякі ДУЖЕ ЛАЗНІ КОДЕРИ


4

IMHO краще використовувати звичайні позначення ( <br />) замість нота прощання ( <br>) з наступних причин:

Послідовність

У вашому HTML, мабуть, деякі SVG та SVG підтримують лише регулярні позначення (наприклад, <rect />).

Хакабельність

Це не той випадок, коли рамки, такі як React і NativeScript, використовують позначення XML.
Ваш код розмітки буде простіше розбирати.

Чіткість

Регулярні позначення легше читати та розуміти, навіть пізно вночі.

Технічні умови

Обидва <br>і <br />є дійсними тегами HTML.

Висновок

Якщо ви використовуєте повноцінний текстовий редактор, налаштуйте його на звичайну нотацію (яка називається XHTML Emmet ).
Наприклад, у коді Visual Studio просто потрібно додати наступний рядок до налаштувань:

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

1
Строго кажучи, вони обоє - це короткі позначення: коротке позначення HTML та коротке позначення XML відповідно. Повне позначення є <br></br>, і воно дійсне в X (HT) ML, але не в HTML.
Ілля Стрельцин

1
HTML5 не ввів <br>. Це завжди в HTML. XHTML представив <br/>
jmarkmurphy

1
Щоб правильно піти в історію цього, потрібно глибоко заглибитися в SGML.
Майкл Кей

3

Ну все, що я знаю, це те, що <br />дає перерву з білою лінією і<br> просто дає перерву в деяких випадках. Це сталося зі мною, коли я налаштовував IPN-скрипт (PHP) і надсилав пошти та перевіряв папку "Вхідні". Не знаю чому, але я отримав лише повідомлення, щоб виглядати акуратно, використовуючи обидва<br /> and <br>

Подивіться на пошту тут: http://snag.gy/cLxUa.jpg

Перші два розділи тексту відокремлюються <br />, отже, рядками пробілу, останні три рядки тексту внизу та останній розділ відокремлюються <br>і просто дають новий рядок.


3
Що це за браузер?
Дейв Бертон


2

Як і багато інших, вони охоплюють і те, <br>і <br/>прийнятне.

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

А оскільки Google<br> так і використовує , я.

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


2

<br>працює просто чудово. Більш суворі версії, такі як XHTML, вимагають, щоб ви додали закриваючі, і справді старі версії HTML, які не містять тег DOCTYPEmake, <br>недійсний <br></br>.

Підбиваємо підсумки: <br>добре. Інші - теж просто чудово.


2

У HTML5 косою рисою більше не потрібно : <br>,<hr>


Штрих ніколи не був необхідним і ніколи не вказувався в жодних специфікаціях HTML і навіть не використовувався як приклад у специфікації.
Роб

1
@Rob Я не знаю, де ви отримуєте свої специфікації HTML, але я отримую свою інформацію від організацій WHATWG та W3C. Обидва публікують специфікації, які чітко визначають сувору відповідність XML як необов'язкові особливості HTML5. Це спеціально включає закриття окремих тегів за допомогою />. Див. Розділи 8.1.2.1 та 2 . І дивіться документ HTML проти XHTML на веб-сайті whatwg.org та розмітку поліглотату W3C: надійний профіль словникового запасу HTML5 на W3C.
Василь Бурк

@BasilBourque Будь ласка, прочитайте точну специфікацію для цих тегів у HTML і не створюйте XML або XHTML, які тут не є предметом. Ви ніколи не знайдете жодних письмових формулювань чи прикладів у будь-якій специфікації для HTML в історії Інтернету, де використовується косою косою рисою, потрібною або навіть запропонованою.
Роб

1
@Rob Все, що я можу зробити, це повторити: W3C опублікував документ під назвою HTML 5.2, де розділ 8.1.2.1. Початкові теги прямо говорять, що тег, що самозамикається, або з косою рискою є дійсним, у пункті № 6: Тоді, якщо елемент є одним з недійсних елементів, або якщо елемент є стороннім елементом, то може бути один U + 002F SOLIDUS символ (/). Цей символ не впливає на недійсні елементи, але на сторонні елементи він позначає стартовий тег як самозакриваючись. Інші документи, з якими я пов’язаний, пояснюють, що якщо висловити свій HTML5 як XML, слід нахиляти рису.
Василь Бурк

1
@BasilBourque Я ніколи не говорив, що це не вірно. Я сказав, що це не має сенсу і не виконує жодних цілей, як ви, самі, цитували. І, знову ж таки, ви пропонуєте XML як виправдання для використання його в HTML. Не робіть цього! Вони не одне і те ж! Ми називаємо це "супом з тегами", коли для аналізу HTML потрібно інтерпретувати вміст XML.
Роб

2

Більшість випадків у 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 не дозволений.


1

Ummm ..... хтось знає єдиного постачальника, користувача-агента чи виробника браузера, який коли-небудь дотримувався специфікацій W3C 100% ??? Тож якщо HTML5 каже, що підтримує всі три версії брейк-елемента, ви можете поставити під сумнів, що постачальники підтримують однакові та ще більше версії шампанського!

Єдине, що має значення в цій дискусії, - це КОНСИСТИЧНО використовувати кодування, яке також дотримується специфікацій XML, а також специфікацій HTML, коли це можливо. Це означає, що ви повинні використовувати правильну XML-версію тега перерви та заохочувати всю вашу команду робити те саме:

<br />

Той самий формат косої коси повинен застосовуватися для img, a, hr та метатегів у вашому коді. Чому? Тому що:

  1. Вона назад сумісна зі старими XHTML-агентами / браузерами
  2. Постачальники браузерів так чи інакше підтримують версію XML, тому специфікація HTML5 суперечить.
  3. Недбалі реалізації більшості користувачів-агентів сьогодні, в минулому і в майбутньому приймуть це.
  4. Це дозволяє розмітці бути порівнянною зі стандартами XML, якщо вам потрібно повернутися до створення XHTML / XML документів зі своєї розмітки.
  5. ВСІ «WEB DEVELOPERS» - це «хороша практика кодування», щоб продовжувати використовувати суцільні методи розмітки, що слідують за XML, включаючи кодування в усіх нижчих регістрах, атрибути, що цитуються, символи XML тощо тощо. Чому? Надалі, якщо вам доведеться перейти на XML-дані, ви автоматично кодуєте і мислите в XML.
  6. Ми можемо лише сподіватися, що в майбутньому всесвітній Інтернеті ми відійдемо від приватних стандартів, що впроваджуються постачальниками, і повернемося до твердої, надійної, перевіреної розмітки, яка швидше аналізує, швидше переміщує дані по дротах та зробить наш майбутній Інтернет більш стандартизованим. носій із використанням XML.

Окрім того, у робототехнічному та машинному світі, де роботи не мають тих самих проблем із кодуванням для людського інтерфейсу, які вирішує для нас HTML5, вони із задоволенням повернуться до систем даних XML та проаналізують подібні веб-сторінки інтерфейсу набагато швидше, перетворившись у XML дані.


1

як <br>і <br/>працює , але немає необхідності у використанні другого , так як HTML 5 також підтримує перший синтаксис , який так легко




-3

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

Я вважаю за краще, <br>оскільки це те, чим я користувався з Erwise та Netscape Navigator (ранніх веб-браузерів), але немає причин не вибирати <br />натомість. Це може бути корисно для попередньої обробки, порівнянності тощо.

Навіть якщо ваш вибір зводиться до переваги вигляду один над іншим, або ви (або ваш улюблений редактор HTML, наприклад, Dreamweaver), можливо, хочете, щоб ваш код відповідав xml. Тобі вирішувати.

Швидка сторона:

Не плутати з цим br, але крім того, ви можете також розглянути можливість використання wbrтегів у вашому HTML: Тег можливості перелому слова, який визначає, де в тексті було б добре додати перерву рядка.

Для подальшого читання, будь ласка, прочитайте специфікацію HTML5 .


5
Див . Специфікацію HTML5 , де чітко зазначено, що "Тоді, якщо елемент є одним з недійсних елементів або якщо елемент є стороннім елементом , то може бути один символ" / "(U + 002F) . [Наголос додано ] " <br>, звичайно, недійсний елемент, як ви бачите за посиланням у цитаті.
kevinji

-4

Елементи без кінцевих тегів називаються порожніми тегами. У html 4 та html 5 кінцеві теги не потрібні та їх можна опустити.

У xhtml теги настільки суворі. Це означає, що він повинен починатися з початкового тегу і закінчуватися кінцевим тегом.


1
Неправильно. Одномісний тег так само дійсний у HTML5, як і пара тегів початкового кінця. Див . Специфікацію HTML 5.2 .
Василь Бурк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.