HTML 5: Ist es <br>, <br/> oder <br />?

2032

Ich habe versucht, andere Antworten zu überprüfen , bin aber immer noch verwirrt - insbesondere nachdem ich die HTML 5-Referenz von W3schools gesehen habe .

Ich dachte, HTML 4.01 sollte es zulassen, dass einzelne Tags nur <img>und sind <br>. Dann kam XHTML mit <img />und <br />( wo jemand sagte, dass der Platz für ältere Browser da ist ).

Jetzt frage ich mich, wie ich meinen Code beim Üben von HTML 5 formatieren soll.

Ist es <br>, <br/>oder <br />?

Eikern
quelle
Unabhängig davon, welche Sie heute verwenden, denken Sie bitte daran, dass einige unterstützende Techniker (z. B. Screenreader) dies wahrscheinlich ankündigen werden. NVDA sagt zum Beispiel "leer". Benutzer von Bildschirmleseprogrammen werden höchstwahrscheinlich nur Lärm von dieser zusätzlichen Ankündigung erhalten. Erwägen Sie das Hinzufügen eines role="presentation"Attributs, außer in den seltenen Fällen, in denen ein Zeilenumbruch als "Inhalt" fungiert.
brennanyoung
Gemäß der aktuellen Spezifikation "6. Wenn das Element eines der leeren Elemente ist oder wenn das Element ein Fremdelement ist, kann es ein einzelnes U + 002F SOLIDUS-Zeichen (/) geben. Dieses Zeichen hat keine Auswirkung auf das leere Element elements " html.spec.whatwg.org/multipage/syntax.html#start-tags
Tim Abell

Antworten:

1544

Einfach <br>ist ausreichend.

Die anderen Formulare dienen der Kompatibilität mit XHTML. damit es möglich ist, denselben Code wie XHTML zu schreiben und ihn auch als HTML zu verwenden. Einige Systeme, die HTML generieren, basieren möglicherweise auf XML-Generatoren und können daher nicht nur ein nacktes <br>Tag ausgeben . Wenn Sie ein solches System verwenden, ist es in Ordnung <br/>, es ist einfach nicht erforderlich, wenn Sie es nicht tun müssen.

Allerdings verwenden nur sehr wenige Menschen XHTML. Sie müssen Ihren Inhalt so application/xhtml+xmlbereitstellen, dass er als XHTML interpretiert wird. Dies funktioniert in alten IE-Versionen nicht. Dies bedeutet auch, dass ein kleiner Fehler verhindert, dass Ihre Seite in Browsern angezeigt wird, die XHTML unterstützen. Das meiste, was im Web wie XHTML aussieht, wird tatsächlich als HTML bereitgestellt und interpretiert. Weitere Informationen finden Sie unter Bereitstellen von XHTML als Text / HTML .

Brian Campbell
quelle
23
Aber eine gültige XML mit impliziert nicht dient , xhtml, sowieso. Es kann für alle Arten der lokalen Vorverarbeitung nützlich sein.
Michael Krelin - Hacker
29
Ja, aber Sie müssen sehr vorsichtig sein, wenn Sie HTML als XML verarbeiten. Sie sind verschiedene Sprachen und nur eine Teilmenge von jeder ist kompatibel. In XML <br/>ist dies beispielsweise dasselbe wie <br></br>, aber letzteres ist kein gültiges HTML.
Brian Campbell
10
Brian, war die Idee , dass Sie können Ihre HTML wohlgeformtes XML sein, dass es ist. Natürlich müssen Sie beim Umwandeln in ein anderes sicherstellen, dass es noch gültig ist, aber ist es erwähnenswert? :)
Michael Krelin - Hacker
5
@Marco Ich glaube nicht, dass document.write im Vergleich zu tatsächlichem (x) HTML furchtbar schnell ist (weil es ausgeführt werden muss). In jedem Fall ist Javascript nicht unbedingt auf allen Computern verfügbar, sodass Websites, die übermäßig auf sie angewiesen sind, nicht sehr flexibel sind. Außerdem hat HTML keine Funktionen.
Michael0x2a
8
@Marco: Huh, ich wusste nicht, dass document.write es in xhtml nicht funktioniert - danke fürs Teilen. Ich stimme zu, dass es für Webapps albern wäre, etwas ohne Javascript zu versuchen, aber ich wollte sagen, dass Websites, die fast zu 100% auf Javascript basieren , brüchiger sind und fehlschlagen können, wenn Benutzer Javascript deaktivieren (oder ältere Telefone verwenden) oder so)
Michael0x2a
227

Ich denke, dieses Zitat aus dem HTML 5-Referenzentwurf liefert die Antwort:

3.2.2.2 Leere Elemente

Der Begriff leere Elemente bezeichnet Elemente, die leer sein müssen . Diese Anforderungen gelten nur für die HTML-Syntax. In XHTML werden alle diese Elemente als normale Elemente behandelt, müssen jedoch als leere Elemente markiert werden.

Es ist diesen Elementen untersagt, überhaupt Inhalte zu enthalten. In HTML haben diese Elemente nur ein Start-Tag . Die selbstschließende Tag- Syntax kann verwendet werden. Das End-Tag muss weggelassen werden, da das Element vom Parser automatisch geschlossen wird.

HTML-Beispiel:
Ein void-Element in der HTML-Syntax. Dies ist in der XHTML-Syntax nicht zulässig.

<hr>

Beispiel:
Ein void-Element mit der HTML- und XHTML-kompatiblen selbstschließenden Tag-Syntax.

<hr/>

XHTML-Beispiel:
Ein void-Element, das die Nur-XHTML-Syntax mit einem expliziten End-Tag verwendet. Dies ist für ungültige Elemente in der HTML-Syntax nicht zulässig.

<hr></hr>
Daan
quelle
22
Die Antwort lautet also, vorzugsweise ohne Schrägstrich und Leerzeichen zu codieren, aber den Schrägstrich (mit oder ohne Leerzeichen) zu haben - ist optional?
Eikern
67
Ich mag die Art und Weise, wie die Spezifikation (in diesem Punkt) nicht besonders spezifisch ist. "Meh, mach was du willst!"
Matt Ellen
42
Da es optional ist, mag ich das mehr, />weil es gut für die Lesbarkeit ist.
BrunoLM
38
Ich mag es, meine Tags aus keinem anderen Grund explizit zu schließen, als es sich richtig anfühlt und Sinn macht, wenn ich Code lese / schreibe. Ich freue mich, dass der HTML5-Referenzentwurf mit mir übereinstimmt.
Syntaxfehler
7
Scheint mir ziemlich spezifisch zu sein. <br> und <br /> sind beide legal HTML5.
William Denniss
135

XML erlaubt es nicht, Tags offen zu lassen, daher ist es <br>etwas schlimmer als die beiden anderen. Die anderen beiden entsprechen in etwa der zweiten ( <br/>), die aus Gründen der Kompatibilität mit älteren Browsern bevorzugt wird. Eigentlich wird der Platz /aus Gründen der Kompatibilität bevorzugt, aber ich denke, dass dies nur für Tags mit Attributen sinnvoll ist. Also würde ich entweder <br/>oder sagen <br />, je nachdem, was Ihrer Ästhetik gefällt.

Um es zusammenzufassen: Alle drei sind gültig, wobei das erste ( <br>) etwas weniger "portabel" ist.

Edit : Jetzt, da wir alle verrückt nach Spezifikationen sind, denke ich, dass es sich lohnt, darauf hinzuweisen, dass laut dev.w3.org :

Start-Tags bestehen aus den folgenden Teilen in genau der folgenden Reihenfolge:

  1. Ein "<" Zeichen.
  2. Der Tag-Name des Elements.
  3. Optional ein oder mehrere Attribute, denen jeweils ein oder mehrere Leerzeichen vorangestellt werden müssen.
  4. Optional ein oder mehrere Leerzeichen.
  5. Optional ein "/" Zeichen, das nur vorhanden sein darf, wenn das Element ein ungültiges Element ist.
  6. Ein ">" Zeichen.
Michael Krelin - Hacker
quelle
17
HTML ist eigentlich kein XML, nur ziemlich nah dran.
Tloach
6
Ja, das ist es nicht. Ist /aber hier ein gemeinsamer Nenner. HTML5 erlaubt speziell die Verwendung von /: "Optional ein" / "Zeichen, das nur vorhanden sein darf, wenn das Element ein ungültiges Element ist".
Michael Krelin - Hacker
4
helloworlder, ich würde sagen, dass die HTML5-Spezifikation nahezu XML-konform ist.
Michael Krelin - Hacker
5
Ich möchte nur hinzufügen, dass sowohl in XML als auch in HTML die ML für Markup Language steht. Der Grund, warum es so viele Überschneidungen zwischen ihnen gibt, ist, dass beide ursprünglich mit SGML (Standardized Generalized Markup Language) definiert wurden, aber nicht viele Leute erinnern sich jetzt daran ...
John Vincent
4
@BennyNeugebauer, Wenn Sie Regex verwenden, um HTML zu analysieren, müssen Sie sich mehr oder weniger auf Ihr Glück verlassen, anstatt richtig geschlossene Tags ;-)
Michael Krelin - Hacker
104

In HTML (bis zu HTML 4) : verwenden<br>

In HTML 5 : <br>ist bevorzugt, aber <br/>und <br />ist auch akzeptabel ,

In XHTML : <br />wird bevorzugt. Kann auch <br/>oder verwenden<br></br>

Anmerkungen:

  • <br></br> ist in HTML 5 nicht gültig, wird als zwei Zeilenumbrüche betrachtet.
  • Bei XHTML wird zwischen Groß- und Kleinschreibung unterschieden, bei HTML wird nicht zwischen Groß- und Kleinschreibung unterschieden.
  • Aus Gründen der Abwärtskompatibilität würden einige alte Browser XHTML als HTML analysieren und fehlschlagen, <br/>aber nicht<br />

Referenz:

JackDev
quelle
Wenn Sie den Link überprüft haben, ist der bevorzugte Ansatz <br>, aber wo steht <br/>, dass er nicht akzeptabel ist?
JackDev
4
Zur Verdeutlichung sind für XML-kompatible Syntax <br/>und <br />(mit einem Leerzeichen) gleich, ohne dass dies auch nicht der Fall ist. Siehe die XML 1.0- Spezifikation. Leerzeichen (LEERTASTE, Tabulator oder Zeilenvorschub) vor dem />sind optional, ohne Präferenz.
Basil Bourque
1
Können Sie eine Referenz für die Nicht-XML-Syntax zitieren, die in HTML5 bevorzugt wird? Das sind Neuigkeiten für mich. Die optionale Unterstützung für strikte XML-Konformität war, wie ich mich erinnere, ein grundlegendes Ziel von HTML5. Vielleicht habe ich etwas im HTML vs. XHTML- Dokument auf whatwg.org oder im W3C Polyglot Markup verpasst : Ein robustes Profil des HTML5-Vokabulars bei W3C.
Basil Bourque
1
@BasilBourque Um noch einmal zu wiederholen, was ich Ihnen an anderer Stelle gesagt habe. Lesen Sie die aktuelle Spezifikation in HTML5 für die Tags und Elemente, und Sie werden NIEMALS eine Empfehlung oder einen Vorschlag finden, der erforderlich oder vorgeschlagen wird, einen abschließenden Schrägstrich für diese Tags zu verwenden. Wenn Sie XML oder XHTML verwenden möchten, verwenden Sie kein HTML, und das ist eine andere Geschichte. Verwenden Sie für diese HTML-Tags KEINEN Schrägstrich. An anderer Stelle heißt es in der Spezifikation, dass Sie eine dort ablegen können, aber sie bedeutet nichts, tut nichts und die Browser werden angewiesen, sie zu ignorieren. Es ist also sinnlos und nutzlos, es genauso sinnlos und nutzlos zu machen.
Rob
@ Rob So Abschnitt 8.1.2.1. Start-Tags von Abschnitt 8. Die vom W3C veröffentlichte HTML-Syntax des Dokuments HTML 5.2 W3C-Empfehlung vom 14. Dezember 2017 ist nicht die tatsächliche Spezifikation von HTML? Bitte beraten.
Basil Bourque
54

Gemäß der Spezifikation ist das erwartete Formular <br>für HTML 5, aber ein schließender Schrägstrich ist zulässig.

Tvanfosson
quelle
27

Ich würde die Verwendung <br />aus folgenden Gründen empfehlen :

1) Text- und XML-Editoren, die die XML-Syntax in verschiedenen Farben hervorheben, werden mit korrekt hervorgehoben. <br />Dies ist jedoch bei Verwendung nicht immer der Fall<br>

2) <br />ist abwärtskompatibel mit XHTML und wohlgeformtes HTML (dh: XHTML) ist häufig einfacher auf Fehler und Debugging zu überprüfen

3) Einige alte Parser und einige Codierungsspezifikationen benötigen den Platz vor dem schließenden Schrägstrich (dh: <br />anstelle von <br/>), wie z. B. die Codierungsspezifikation für das WordPress-Plugin: http://make.wordpress.org/core/handbook/coding-standards/html/

Nach meiner Erfahrung bin ich noch nie auf einen Fall <br />gestoßen, in dem die Verwendung problematisch ist. Es gibt jedoch viele Fälle, in denen ältere Browser und Tools problematisch sind <br/>oder insbesondere <br>problematisch sein könnten.

Kmeixner
quelle
1
Gut geformtes HTML ist kein XHTML.
jmarkmurphy
1
XHTML ist per Definition wohlgeformtes HTML. XHTML folgt den Regeln von XML, laut w3schools "XML ist eine Auszeichnungssprache, in der Dokumente korrekt markiert werden müssen (" wohlgeformt "sein) ... ... Durch die Kombination der Stärken von HTML und XML wurde XHTML entwickelt. XHTML ist HTML, das als XML neu gestaltet wurde. " (siehe w3schools.com/html/html_xhtml.asp )
Kmeixner
2
HTML kann gut geformt sein, aber kein gültiges XML. W3Schools ist nicht immer die maßgeblichste Referenz.
Jmarkmurphy
Der Professor des Universitäts-Informatikkurses über Webprogrammierung, den ich 1997 belegte, behauptete auch, dass xhtml gut geformtes HTML ist. Ich bin nicht sicher, woher Sie Ihre Informationen beziehen. Können Sie offizielle Quellen online zitieren, um Ihren Anspruch zu sichern?
Kmeixner
1
@jmarkmurphy, ich denke, dass Sie vielleicht nicht mit dem Begriff "wohlgeformt" vertraut sind, der sich auf die Anforderung an die Standards von XML und XHTML bezieht, dass alle Tags schließende Tags haben und in der richtigen Reihenfolge verschachtelt sein müssen . <hr> und <br> erfüllen nicht die Anforderungen von XML und XHTML, da sie keine schließenden Tags haben, z. B.: <br /> oder <br> </ br> sind gültig, <br> ist nicht gültig für XHTML oder XML . HTML hat natürlich nicht die wohlgeformte Anforderung, daher sind <br> und <hr> nur in HTML gültig.
Kmeixner
20

XML erfordert, dass alle Tags ein entsprechendes schließendes Tag haben. Daher gibt es eine spezielle Kurzsyntax für Tags ohne inneren Inhalt.

HTML5 ist kein XML, daher sollte es keine solche Anforderung stellen. Weder ist HTML 4.01.

In HTML5-Spezifikationen verwenden beispielsweise alle Beispiele mit brTag die <br>Syntax, nicht <br/>.

UPD Eigentlich <br/>ist in HTML5 erlaubt . 9.1.2.1, 7.

Sastanin
quelle
2
"HTML5 ist kein XML, daher sollte es keine solche Anforderung darstellen." Ob das richtig ist oder nicht, hängt von der Interpretation des Wortes "HTML5" ab. Wenn wir von HTML5 als Sprache sprechen, ist diese Aussage richtig. Wenn wir jedoch von HTML5 als Spezifikation sprechen, ist diese Aussage falsch. Die HTML5-Spezifikation definiert "ein Vokabular und zugehörige APIs für HTML und XHTML". Ich weiß, dass das ein bisschen pingelig ist. Ich sage nicht, dass diese Antwort falsch ist, sondern gebe nur zusätzliche Informationen für den Leser.
Christian Hujer
14

Wenn Sie an Vergleichbarkeit interessiert sind (nicht an Kompatibilität, sondern an Vergleichbarkeit), würde ich mich daran halten <br />.

Ansonsten <br>ist in Ordnung.

MindStalker
quelle
1
Jemand sollte dies zurückrollen. Die Bedeutung wird geändert.
Josiah
9
Was ist mit Vergleichbarkeit gemeint? Ich verstehe es nicht
Tuxayo
12

Beide <br>und <br />sind in HTML5 akzeptabel, sollten jedoch im Sinne von HTML <br>verwendet werden. HTML5 ermöglicht das Schließen von Schrägstrichen, um besser mit Dokumenten kompatibel zu sein, die zuvor HTML 4.01 und XHTML 1.0 waren, und ermöglicht so eine einfachere Migration zu HTML5. Natürlich <br/>ist dies auch akzeptabel, aber um mit einigen älteren Browsern kompatibel zu sein, sollte vor dem schließenden Schrägstrich ( /) ein Leerzeichen stehen .

Kevinji
quelle
1
@ Knickerless-Noggins Ich bin mir nicht sicher, wo Sie das lesen, aber es <br />ist vollkommen akzeptabel, und W3Schools ist nicht die Spezifikation für HTML. Siehe die HTML5 - Spezifikation , die klar besagt , dass „Dann , wenn das Element eine die ist ungültig Elemente , oder wenn das Element ist ein fremdes Element , dann kann es sein , einzelner‚/‘(U + 002F) Charakter . [Hervorhebung hinzugefügt ] "
Kevinji
Diese Antwort spielt wie andere die Legitimität einer strengen XML-Konformität in HTML5 fälschlicherweise herunter. Die Unterstützung von XML ist keine temporäre Übergangs- oder Migrationsfunktion. Die optionale Unterstützung der XML-Konformität war ein grundlegendes Ziel von HTML5. Es ist eine wichtige Funktion für Benutzer, die XML-Tools für die Arbeit mit ihren HTML-Inhalten verwenden.
Basil Bourque
12
  1. Wenn Sie HTML auf einer normalen Website ausgeben, die Sie verwenden können, <br> oder <br/> beide gültig sind, wenn Sie HTML5 als Text / HTML bereitstellen.

  2. Wenn Sie HTML5 als XHTML bereitstellen (dh Inhaltstyp application / xhtml + xml mit einer XML-Deklaration), müssen Sie ein selbstschließendes Tag wie folgt verwenden : <br/>.

    Wenn Sie dies nicht tun, weigern sich einige Browser möglicherweise, Ihre Seite zu rendern (insbesondere Firefox ist sehr streng, wenn es darum geht, nur gültige xhtml + xml-Seiten zu rendern ).

    Wie in 1. erwähnt, <br/>gilt dies auch für HTML5, das zufällig als XML generiert wird, aber als regulärer Text / HTML ohne XML-Deklaration dient (z. B. aus einer XSL-Transformation, die Webseiten generiert, oder ähnlichem).

Um Verwirrung zu beseitigen: Das Einfügen eines Leerzeichens vor dem Schrägstrich ist in HTML5 nicht erforderlich und hat keinen Einfluss darauf, wie die Seite gerendert wird (wenn jemand ein Beispiel anführen kann, werde ich dies zurückziehen, aber ich glaube nicht, dass dies der Fall ist wahr - aber IE macht sicherlich viele andere seltsame Dinge mit allen Arten von <br>Tags).

Der ausgezeichnete Validator unter http://validator.w3.org ist wirklich hilfreich, um zu überprüfen, was gültig ist (obwohl ich nicht sicher bin, ob Sie sich darauf verlassen können, um auch den Inhaltstyp zu überprüfen).

Iain Collins
quelle
Warten Sie, Text / HTML-Mimetyp ist striktes XML?
Amwinter
1
Sie sollten es nicht mit einer XML-Deklaration versehen, wenn Sie Text / HTML verwenden, aber der Inhalt kann ansonsten gültiges XML sein (z. B. generiert aus etwas, das XML ausgibt, wie XSLT-Ausgabe oder einem Objekt, das in XML serialisiert wird).
Iain Collins
Immer noch nicht verständlich: Wenn Text / HTML eine haben sollte <br />, wann sollte ich nicht geschlossen verwenden <br>?
Amwinter
1
Oh, sorry, beide sind technisch gültig für HTML5, wenn es über Text / HTML ist. Sie können dies mit dem (meistens) fantastischen Validator unter validator.w3.org bestätigen . Mein Wortlaut oben ist schlecht. Ich sehe, dass ich ihn jetzt bearbeiten werde.
Iain Collins
3
Ich denke, es war Netscape Navigator 3 oder 4, das nicht gefallen hat <br/>, sicherlich nichts, worüber man sich heutzutage Sorgen machen müsste.
Robertc
12

Beides <br>und <br/>wird gut funktionieren, aber ich bevorzuge, <br/>weil es etwas logischer ist. Es ist logisch, ein schließendes Tag zu erwarten, wenn es ein öffnendes Tag gibt. Daher ist Ihr Code etwas einfacher zu lesen, wenn Sie kein öffnendes Tag verwenden, wenn es kein schließendes Tag geben wird.

Alle Browser (außer möglicherweise einigen sehr alten, die keine Rolle spielen) zeigen beide genau gleich an. Allerdings <br>ist nicht xHTML complient.

Dan Bray
quelle
7

<br>und <br/>anders rendern. Einige Browser interpretieren <br/>wie <br></br>und Insert zwei Zeilenumbrüche

Samuel
quelle
12
Was? Wissen Sie welche Browser?
Eikern
7
Fand dies beim Testen von Browsern der ie5 / ns4-Ära. Wenn ich mich richtig erinnere, war es dh im Standard-Compliance-Modus. Aber es ist lange her ...
Samuel
3
Für strenge HTML4-Browser (die praktisch nur HTML4-Validator sind) <br />bedeutet <br>&gt;.
Konrad Borowski
7

<br>ist ausreichend, wird aber in XHTML nach WHATWG und W3C<br /> bevorzugt .

Um Abschnitt 8.1.2.1 der HTML 5.2 W3C-Empfehlung vom 14. Dezember 2017 zu zitieren

Start-Tags müssen das folgende Format haben:

  1. Nach den Attributen oder nach dem Tag-Namen, wenn keine Attribute vorhanden sind, können ein oder mehrere Leerzeichen stehen. (Auf einige Attribute muss ein Leerzeichen folgen. Siehe §8.1.2.3 Attribute unten.)

  2. Wenn das Element eines der leeren Elemente ist oder wenn das Element ein Fremdelement ist, kann es ein einzelnes U + 002F SOLIDUS-Zeichen (/) geben. Dieses Zeichen hat keine Auswirkung auf leere Elemente, aber auf fremde Elemente markiert es das Start-Tag als selbstschließend.

Wenn Sie Dreamweaver CS6 verwenden, wird es automatisch als vervollständigt <br />.

Informationen zum Überprüfen Ihrer HTML-Datei auf W3C finden Sie unter: http://validator.w3.org/

krupal
quelle
@ Julix In der Tat, warum die Abstimmungen? Dies ist eine der wenigen richtigen Antworten auf dieser Seite. HTML5 ist absolut XML-konform, optional, und in der XML-Syntax muss ein einzelnes Tag mit dem Schrägstrich geschlossen werden. Wie kann eine solche einfache Fakten werden so falsch verstanden , wenn sie in schwarz-weiß geschrieben in der Spezifikation .
Basil Bourque
5

Bei der Validierung dieser Frage hängt es wirklich davon ab, durch was !DOCTYPESie die Verifizierung erreichen möchten.

Mein persönlicher Favorit ist, 4.01 Transwo ich nur das verwende <br/>und es löscht die Warnungen und Fehler, die möglicherweise während der Validierung aufgetreten sind

Streng ist ein viel komplizierteres Tier, es hasst "SHORTTAGS" und will buchstäblich nur das<br></br>

Im HTML5 oder im "LAX" der Code-Welt gibt es wirklich keine richtige Antwort, weil es detects every example you put updort so richtig ist ......

Am Ende denke ich, dass alles, was zählt, is what validation YOU PREFERoder the person that you are working for prefers... mit der lackadaisicalBewegung in der Code-Strenge sehen html5wir einige SEHR LAZY CODERS

Langsames Stoßen
quelle
4

IMHO ist es aus folgenden Gründen besser, die reguläre Notation ( <br />) anstelle der verzeihenden Notation ( <br>) zu verwenden:

Konsistenz

In Ihrem HTML gibt es wahrscheinlich einige SVG und SVG unterstützen nur die reguläre Notation (zB <rect />).

Hackbarkeit

Es ist kein Fall, dass Frameworks wie React und NativeScript eine XML-Notation verwenden.
Ihr Markup-Code ist einfacher zu analysieren.

Klarheit

Die reguläre Notation ist auch spät in der Nacht leichter zu lesen und zu verstehen.

Spezifikationen

Beide <br>und <br />sind gültige HTML-Tags.

Fazit

Wenn Sie einen vollwertigen Texteditor verwenden, konfigurieren Sie ihn so, dass er die reguläre Notation verwendet (von Emmet XHTML genannt ).
In Visual Studio Code müssen Sie beispielsweise nur die folgende Zeile zu Ihren Einstellungen hinzufügen:

"emmet.syntaxProfiles": {"html": "xhtml"}
isar
quelle
1
Genau genommen handelt es sich bei beiden um Kurznotationen: die HTML-Kurznotation bzw. die XML-Kurznotation. Die vollständige Notation lautet <br></br>und ist in X (HT) ML gültig, jedoch nicht in HTML.
Ilya Streltsyn
1
HTML5 hat <br> nicht eingeführt. Es war immer in HTML. XHTML stellte <br/>
jmarkmurphy
1
Um richtig in die Geschichte einzugehen, müssen Sie sich eingehend mit SGML befassen.
Michael Kay
3

Nun, alles was ich weiß ist, dass <br />es eine Pause mit einer weißen Linie <br>gibt und in einigen Fällen nur eine Pause gibt. Dies passierte mir, als ich ein IPN-Skript (PHP) einrichtete, Mails verschickte und den Posteingang darauf überprüfte. Ich weiß nicht warum, aber ich habe nur die Nachricht erhalten, dass ich mit beiden ordentlich aussehe<br /> and <br>

Schauen Sie sich die Mail hier an: http://snag.gy/cLxUa.jpg

Die ersten beiden Textabschnitte werden durch <br />die Leerzeichen, die letzten drei Textzeilen unten und den letzten Textabschnitt getrennt <br>und geben nur eine neue Zeile an.

Emanuel Olsson
quelle
3
Welcher Browser war das?
Dave Burton
3

In HTML <br>und in XHTML <br/>.

Ich werde Ihnen vorschlagen, zu verwenden <br/>.

Shubham Kumar
quelle
2

Wie viele andere behandelt haben, die beide <br>und <br/>sind akzeptabel.

Ich denke, der Kompromiss ist die bessere Lesbarkeit und Abwärtskompatibilität im <br/>Vergleich zum Senden eines Zeichens weniger an die Endbenutzer mit <br>.

Und da Google dies auch tut <br>, werde ich es tun.

(Denken Sie natürlich daran, dass sie mich möglicherweise bedienen, <br>weil ich Chrome verwende, von dem sie wissen, dass es es unterstützt. Im IE werden sie möglicherweise noch bedient. <br/>)

Dimitris
quelle
2

<br>funktioniert gut. Bei strengeren Versionen wie XHTML müssen Sie die schließenden und wirklich alten HTML-Versionen hinzufügen, die kein DOCTYPEmake <br>a non-void-Tag enthalten, wie z <br></br>.

Fazit: <br>ist in Ordnung. Andere sind auch in Ordnung.

Aravind Suresh
quelle
2

In HTML5 ist der Schrägstrich nicht mehr notwendig: <br>,<hr>

Harold Ramos
quelle
Der Schrägstrich war nie notwendig und wurde nie in einer HTML-Spezifikation angegeben oder sogar als Beispiel in der Spezifikation verwendet.
Rob
1
@Rob Ich weiß nicht, woher Sie Ihre HTML-Spezifikationen beziehen , aber ich bekomme meine von den WHATWG- und W3C-Organisationen. Beide veröffentlichen Spezifikationen, die die strikte XML-Konformität als optionale Funktion von HTML5 klar definieren. Dies beinhaltet insbesondere das Schließen einzelner Tags mit />. Siehe Abschnitte 8.1.2.1 und 2 . Und sehen Sie die HTML gegen XHTML - Dokument bei whatwg.org und das W3C Polyglot Markup: Ein robustes Profil des HTML5 - Vokabular auf W3C.
Basil Bourque
@BasilBourque Bitte lesen Sie die genaue Spezifikation für diese Tags in HTML und rufen Sie weder XML noch XHTML auf, die hier nicht zum Thema gehören. Sie werden in keiner Geschichte für HTML in der Geschichte des Internets schriftliche Formulierungen oder Beispiele finden, in denen ein abschließender Schrägstrich verwendet, erforderlich oder sogar vorgeschlagen wird.
Rob
1
@Rob Ich kann nur wiederholen: W3C hat ein Dokument namens HTML 5.2 veröffentlicht, in dem Abschnitt 8.1.2.1 enthalten ist. Start-Tags besagen eindeutig, dass ein selbstschließendes Tag mit oder mit einem Schrägstrich in Punkt 6 gültig ist: Wenn das Element eines der leeren Elemente ist oder wenn das Element ein Fremdelement ist, kann es ein einzelnes U geben + 002F SOLIDUS-Zeichen (/). Dieses Zeichen hat keine Auswirkung auf leere Elemente, aber auf fremde Elemente markiert es das Start-Tag als selbstschließend. Die anderen Dokumente, die ich verlinkt habe, erklären, dass der Schrägstrich erforderlich ist, wenn Sie HTML5 als XML ausdrücken.
Basil Bourque
1
@BasilBourque Ich habe nie gesagt, dass es nicht gültig ist. Ich sagte, es hat keine Bedeutung und dient keinem Zweck, wie Sie selbst zitiert haben. Und wieder rufen Sie XML als Rechtfertigung für die Verwendung in HTML auf. Tu das nicht! Sie sind nicht dasselbe! Wir nennen das "Tag-Suppe", wenn der HTML-Parser XML-Inhalte interpretieren muss.
Rob
2

In den meisten Fällen in HTML sind die Tags paarweise. Für einen Zeilenumbruch benötigen Sie jedoch kein Paar Tags. Um dies anzuzeigen, verwendet HTML das <br/>Format. <br/>ist der richtige. Verwenden Sie dieses Format.

<br>Tag hat kein End-Tag in HTML In XHTML muss das <br>Tag ordnungsgemäß geschlossen werden, wie folgt:<br />

In XML muss jedes Tag geschlossen sein. XHTML ist eine Erweiterung von XML, daher müssen alle XML-Regeln für gültiges XHTML befolgt werden. Daher sollten auch leere Tags (Knoten ohne untergeordnete Knoten) wie
geschlossen werden. XML hat eine Kurzform namens selbstschließende Tags für leere Knoten. Du kannst schreiben <br></br> as <br />. Daher wird in XHTML <br />verwendet.

HTML ist in dieser Hinsicht sehr nachsichtig, und es gibt keine solche Regel. In HTML werden also leere Knoten wie <br> <hr> <meta>etc ohne den schließenden Schrägstrich geschrieben.

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/" />

Nicht alle Tags können selbst geschlossen werden. Beispielsweise ist ein Tag wie <script src="jQuery.min.js" />von der XHTML-DTD nicht zulässig.

Bhavin Solanki
quelle
1

Ummm ..... kennt jemand einen EINZIGEN Anbieter, Benutzeragenten oder Browserhersteller, der jemals die W3C-Spezifikationen zu 100% befolgt hat ??? Wenn HTML5 also sagt, dass es alle drei Break-Element-Versionen unterstützt, können Sie darauf wetten, dass die Anbieter dieselben und noch schlampigere Versionen unterstützen!

Das EINZIGE, was in dieser Debatte wichtig ist, ist die konsequente Verwendung von Codierung, die nach Möglichkeit auch XML-Spezifikationen sowie HTML-Spezifikationen folgt. Das bedeutet, dass Sie die richtige XML-Version des break-Tags verwenden und Ihr gesamtes Team dazu ermutigen sollten, dasselbe zu tun:

<br />

Das gleiche Leerzeichen sollte für die Tags img, a, hr und meta in Ihrem Code gelten. Warum? Weil:

  1. Es ist abwärtskompatibel mit älteren XHTML-Benutzeragenten / Browsern
  2. Die Browser-Anbieter unterstützen die XML-Version ohnehin, sodass die HTML5-Spezifikation umstritten ist.
  3. Die schlampigen Implementierungen der meisten Benutzeragenten heute, in der Vergangenheit und in der Zukunft werden dies akzeptieren.
  4. Dadurch kann Ihr Markup mit XML-Standards vergleichbar sein, falls Sie wieder XHTML / XML-Dokumente aus Ihrem Markup erstellen müssen.
  5. Es ist eine "gute Codierungspraxis" für ALLE WEB-ENTWICKLER, weiterhin solide Markup-Praktiken zu verwenden, die XML folgen, einschließlich Codierung in Kleinbuchstaben, in Anführungszeichen gesetzte Attribute, maskierte XML-Zeichen usw. usw. Warum? Wenn Sie in Zukunft zu XML-Daten wechseln müssen, codieren und denken Sie automatisch in XML.
  6. Wir können nur hoffen, dass wir uns in Zukunft von den von privaten Anbietern implementierten Standards entfernen und zu soliden, zuverlässigen und verifizierten Markups zurückkehren, die schneller analysieren, Daten schneller über die Kabel übertragen und unser zukünftiges Internet standardisierter machen Medium mit XML.

Außerdem werden sie in der Roboter- und Maschinenwelt, in der Roboter nicht dieselben Codierungsprobleme für die Benutzeroberfläche haben, die HTML5 für uns löst, gerne zu XML-Datensystemen zurückkehren und solche UI-Webseiten bei der Konvertierung in XML viel schneller analysieren Daten.

Stokely
quelle
1

beides <br>und <br/>funktioniert, aber es ist nicht erforderlich, das zweite zu verwenden, da HTML 5 auch die erste Syntax unterstützt, die so einfach ist

Gad
quelle
0


funktioniert gut in HTML5. HTML5 bietet etwas mehr Spielraum als XHTML

Ben Mikola
quelle
0

Wenn Sie HTML5 verwenden, <br>ist die Verwendung der richtige Weg :)

Flight Dude
quelle
-3

<br>und <br />in einigen Browsern anders rendern, sodass die Auswahl einer der beiden Optionen Ihrem Projekt nicht schadet. Erwarten Sie jedoch, dass ein Bulk-Find..replace das Rendern der Seite in einigen Browsern beeinflusst, was zu zusätzlicher Arbeit für Sie selbst oder sogar für Sie führen kann Es ist Ihnen peinlich, wenn sich die Änderung nicht auf Ihren Testbrowser auswirkt, sondern auf den bevorzugten Browser Ihrer Kunden.

Ich bevorzuge es, <br>da es das ist, was ich seit Erwise und Netscape Navigator (frühe Webbrowser) verwendet habe, aber es gibt keinen Grund, nicht <br />stattdessen zu wählen . Dies kann für einige Vorverarbeitungen, Vergleichbarkeit usw. nützlich sein.

Selbst wenn Ihre Wahl darauf hinausläuft, das Aussehen des einen dem anderen vorzuziehen, oder Sie (oder Ihr bevorzugter HTML-Editor, z. B. Dreamweaver) möchten, dass Ihr Code XML-kompatibel ist. Es liegt an dir.

Eine kurze Randnotiz:

Nicht zu verwechseln br, aber Sie können auch wbrTags in Ihrem HTML-Code verwenden: Ein Wortumbruch-Opportunity-Tag, das angibt, wo in einem Text ein Zeilenumbruch hinzugefügt werden kann.

Lesen Sie zur weiteren Lektüre die HTML5-Spezifikation .

WonderWorker
quelle
5
Siehe die HTML5 - Spezifikation , die klar besagt , dass „Dann , wenn das Element eine die ist ungültig Elemente , oder wenn das Element ist ein fremdes Element , dann kann es sein , einzelner‚/‘(U + 002F) Charakter . [Hervorhebung hinzugefügt ] " <br>ist natürlich ein nichtiges Element, wie Sie im Link im Zitat sehen können.
Kevinji
-4

Die Elemente ohne End-Tags werden als leere Tags bezeichnet. In HTML 4 und HTML 5 sind End-Tags nicht erforderlich und können weggelassen werden.

In xhtml sind Tags so streng. Das heißt, es muss mit dem Start-Tag beginnen und mit dem End-Tag enden.

Mahesh Peri
quelle
1
Falsch. Ein einzelnes Tag ist in HTML5 genauso gültig wie ein Start-Ende-Tag-Paar. Siehe die HTML 5.2-Spezifikation .
Basil Bourque