HTML 5: è <br>, <br/> o <br />?


2034

Ho provato a controllare altre risposte , ma sono ancora confuso, soprattutto dopo aver visto il riferimento HTML 5 di W3schools .

Ho pensato che HTML 4.01 avrebbe dovuto "consentire" ai singoli tag di essere <img>e <br>. Poi è arrivato XHTML <img />e <br />( dove qualcuno ha detto che lo spazio è lì per i browser più vecchi ).

Ora mi chiedo come dovrei formattare il mio codice quando faccio pratica con HTML 5.

E ' <br>, <br/>o <br />?


1
Qualunque sia quello che usi oggi, ti preghiamo di considerare che alcune tecnologie assistive (ad esempio gli screen reader) probabilmente lo annunceranno. NVDA dice "vuoto", per esempio. Molto probabilmente gli utenti di screen reader non otterranno altro che rumore da quell'annuncio aggiuntivo. Prendi in considerazione l'aggiunta di un role="presentation"attributo, tranne nei rari casi in cui un'interruzione di riga funziona come "contenuto".
Brennanyoung,

Secondo la specifica corrente "6. Quindi, se l'elemento è uno degli elementi vuoti, o se l'elemento è un elemento estraneo, allora potrebbe esserci un singolo carattere SOLIDUS U + 002F (/). Questo carattere non ha alcun effetto sul vuoto elements " html.spec.whatwg.org/multipage/syntax.html#start-tags
Tim Abell,

Risposte:


1544

È semplicemente <br>sufficiente.

Le altre forme sono lì per la compatibilità con XHTML; per rendere possibile scrivere lo stesso codice di XHTML e farlo funzionare anche come HTML. Alcuni sistemi che generano HTML possono essere basati su generatori XML e quindi non hanno la capacità di produrre solo un <br>tag nudo ; se stai usando un sistema del genere, va bene <br/>, non è necessario se non hai bisogno di farlo.

Pochissime persone usano XHTML, comunque. Devi pubblicare i tuoi contenuti in application/xhtml+xmlmodo che vengano interpretati come XHTML e ciò non funzionerà nelle vecchie versioni di IE - significherà anche che qualsiasi piccolo errore commesso impedirà la visualizzazione della tua pagina nei browser che supportano XHTML. Quindi, la maggior parte di ciò che sembra XHTML sul web viene effettivamente offerto e interpretato come HTML. Vedi Servire XHTML come text / html considerato dannoso per ulteriori informazioni.


23
Ma avere un XML valido non implica servire XHTML, in ogni caso. Può essere utile per tutti i tipi di preelaborazione locale.
Michael Krelin - hacker il

29
Sì, ma devi essere molto attento nell'elaborare HTML come XML. Sono lingue diverse e solo un sottoinsieme di ciascuna è compatibile. Ad esempio, in XML, <br/>è lo stesso di <br></br>, ma quest'ultimo non è HTML valido.
Brian Campbell,

10
Brian, l'idea era che puoi avere il tuo html in formato xml ben fatto, tutto qui. Naturalmente quando si trasforma uno in un altro bisogna assicurarsi che sia ancora valido, ma vale la pena menzionarlo? :)
Michael Krelin - hacker

5
@Marco Non credo che document.write sia terribilmente veloce rispetto al vero (x) html (perché deve essere eseguito). In ogni caso, Javascript non è necessariamente disponibile su tutti i computer, quindi i siti Web che si basano eccessivamente su di essi non sono molto flessibili. Inoltre, html non ha funzioni.
Michael0x2a,

8
@Marco: Huh, non sapevo document.write che non funzionasse in xhtml - grazie per averlo condiviso. Sono d'accordo che sarebbe stupido per le webapps provare a fare qualsiasi cosa senza Javascript, ma stavo cercando di dire che i siti Web che fanno affidamento su Javascript quasi al 100% sono più fragili e possono fallire quando gli utenti disabilitano javascript (o utilizzano telefoni più vecchi o qualcosa del genere)
Michael0x2a

227

Penso che questa citazione dalla bozza di riferimento HTML 5 fornisca la risposta:

3.2.2.2 Elementi del vuoto

Il termine elementi vuoti viene utilizzato per designare elementi che devono essere vuoti . Questi requisiti si applicano solo alla sintassi HTML. In XHTML, tutti questi elementi sono trattati come elementi normali, ma devono essere contrassegnati come elementi vuoti.

A questi elementi è vietato contenere qualsiasi contenuto. In HTML, questi elementi hanno solo un tag iniziale . È possibile utilizzare la sintassi del tag a chiusura automatica . Il tag end deve essere omesso perché l'elemento viene automaticamente chiuso dal parser.

Esempio HTML:
un elemento vuoto nella sintassi HTML. Ciò non è consentito nella sintassi XHTML.

<hr>

Esempio:
un elemento vuoto che utilizza la sintassi del tag autochiudente compatibile HTML e XHTML.

<hr/>

Esempio XHTML:
un elemento vuoto che utilizza la sintassi solo XHTML con un tag di fine esplicito. Ciò non è consentito per gli elementi vuoti nella sintassi HTML.

<hr></hr>

22
Quindi, la risposta è di programmare preferibilmente senza barra e spazio, ma avere la barra (con o senza spazio) - è facoltativo?
Eikern,

67
Adoro il modo in cui le specifiche non sono particolarmente specifiche (su questo punto) "meh, fai quello che vuoi!"
Matt Ellen,

42
Dal momento che è facoltativo, mi piace di più />perché è buono per la leggibilità.
BrunoLM,

38
Mi piace chiudere esplicitamente i miei tag per nessun altro motivo se non quello giusto e ha senso quando sto leggendo / scrivendo codice. Sono lieto che la bozza di riferimento HTML5 sia d'accordo con me.
Errore di sintassi

7
Sembra abbastanza specifico per me. <br> e <br /> sono entrambi HTML5 legali.
William Denniss,

135

XML non consente di lasciare i tag aperti, quindi rende <br>un po 'peggio degli altri due. Gli altri due sono approssimativamente equivalenti al secondo ( <br/>) preferito per la compatibilità con i browser più vecchi. In realtà, lo spazio prima /è preferito per motivi di compatibilità, ma penso che abbia senso solo per i tag che hanno attributi. Quindi direi o <br/>o <br />, qualunque sia la tua estetica.

Per riassumere: tutti e tre sono validi con il primo ( <br>) un po 'meno "portabile".

Modifica : ora che siamo tutti matti per le specifiche, penso che valga la pena sottolineare che secondo dev.w3.org :

I tag di inizio sono composti dalle seguenti parti, esattamente nel seguente ordine:

  1. Un carattere "<".
  2. Il nome del tag dell'elemento.
  3. Facoltativamente, uno o più attributi, ognuno dei quali deve essere preceduto da uno o più caratteri di spazio.
  4. Facoltativamente, uno o più caratteri spaziali.
  5. Facoltativamente, un carattere "/", che può essere presente solo se l'elemento è un elemento vuoto.
  6. Un carattere ">".

17
L'HTML non è in realtà XML, ma abbastanza vicino ad esso.
contattare il

6
Sì, non lo è. Ma qui /è un denominatore comune. HTML5 consente specificamente l'uso di /: "Opzionalmente, un carattere" / ", che può essere presente solo se l'elemento è un elemento vuoto".
Michael Krelin - hacker il

4
helloworlder, direi che la specifica HTML5 è vicina ad essere conforme a XML.
Michael Krelin - hacker il

5
Vorrei solo aggiungere che su XML e HTML la ML sta per Markup Language. La ragione per cui ci sono così tante sovrapposizioni tra loro è che entrambi sono stati originariamente definiti usando SGML (Standardized Markup Language) ma non molte persone lo ricordano ora ...
John Vincent,

4
@BennyNeugebauer, Se stai usando regex per analizzare html, sei più o meno lasciato a fare affidamento sulla tua fortuna piuttosto che sui tag correttamente chiusi ;-)
Michael Krelin - hacker

104

In HTML (fino a HTML 4) : utilizzare<br>

In HTML 5 : <br>è preferito, ma <br/>ed <br />è anche accettabile

In XHTML : <br />è preferito. Può anche usare <br/>o<br></br>

Appunti:

  • <br></br> non è valido in HTML 5, verrà considerato come due interruzioni di riga.
  • XHTML distingue tra maiuscole e minuscole, HTML non distingue tra maiuscole e minuscole.
  • Per garantire la compatibilità, alcuni vecchi browser potrebbero analizzare XHTML come HTML e fallire su <br/>, ma non<br />

Riferimento:


controllato il link, l'approccio preferito è <br>, ma dove dice <br/> non è accettabile?
JackDev,

4
Per chiarire, per la sintassi conforme a XML <br/>e <br />(con uno SPAZIO) sono uguali, senza alcuna preferenza per nessuno dei due. Vedi le specifiche XML 1.0 . Spazio bianco (SPAZIO, scheda o ALIMENTAZIONE LINEA) prima che />sia facoltativo, senza preferenze.
Basil Bourque,

1
Puoi citare un riferimento per la sintassi non XML preferita in HTML5? Questa è una novità per me. Il supporto opzionale per la rigorosa conformità XML era un obiettivo fondamentale di HTML5, come ricordo. Forse ho perso qualcosa nel documento HTML vs. XHTML su whatwg.org o nel W3C Polyglot Markup: un profilo solido del vocabolario HTML5 del W3C.
Basil Bourque,

1
@BasilBourque Per reiterare ciò che ti ho detto altrove. Leggi le specifiche effettive in HTML5 per i tag e gli elementi e non troverai mai, MAI alcuna raccomandazione o suggerimento per richiedere o suggerire di utilizzare una barra di chiusura per tali tag. Se vuoi usare XML o XHTML, allora non stai usando HTML e questa è una storia diversa. NON utilizzare una barra di chiusura per quei tag HTML. Altrove, le specifiche dicono che puoi metterne uno lì ma non significa nulla, non fa nulla e ai browser viene chiesto di ignorarlo. Quindi è inutile e inutile farne un uso altrettanto inutile e inutile.
Rob,

@Rob So Sezione 8.1.2.1. Inizia tag della Sezione 8. La sintassi HTML del documento, HTML 5.2 Raccomandazione W3C, 14 dicembre 2017 , pubblicata dal W3C non è la specifica effettiva dell'HTML? Si prega di avvisare.
Basil Bourque,


27

Consiglierei di utilizzare <br />per i seguenti motivi:

1) Gli editor di testo e XML che evidenziano la sintassi XML in diversi colori verranno evidenziati correttamente con, <br />ma questo non è sempre il caso se si utilizza<br>

2) <br />è retrocompatibile con XHTML e HTML ben formato (es. XHTML) è spesso più facile da convalidare per errori e debug

3) Alcuni vecchi parser e alcune specifiche di codifica richiedono lo spazio prima della barra di chiusura (ovvero: <br />invece di <br/>) come le specifiche di codifica del plugin WordPress: http://make.wordpress.org/core/handbook/coding-standards/html/

Secondo la mia esperienza, non mi sono mai imbattuto in un caso in cui l'utilizzo <br />sia problematico, tuttavia ci sono molti casi in cui <br/>o in particolare <br>potrebbero essere problematici nei browser e negli strumenti più vecchi.


1
HTML ben formato non è XHTML.
jmarkmurphy,

1
XHTML è HTML ben formato per definizione. XHTML segue le regole di XML, secondo w3schools "XML è un linguaggio di markup in cui i documenti devono essere marcati correttamente (essere" ben formati ") ... ... Combinando i punti di forza di HTML e XML, XHTML è stato sviluppato. XHTML è HTML riprogettato come XML. " (vedi w3schools.com/html/html_xhtml.asp )
Kmeixner

2
L'HTML può essere ben formato, ma non essere un XML valido. W3Schools non è sempre il riferimento più autorevole.
jmarkmurphy,

Il professore del corso universitario di informatica sulla programmazione web che ho seguito nel 1997 ha anche affermato che xhtml è un html ben formato. Non sono sicuro da dove stai ottenendo le tue informazioni, puoi citare eventuali fonti ufficiali online per eseguire il backup del tuo reclamo?
Kmeixner,

1
@jmarkmurphy, penso che forse non hai familiarità con il termine "ben formato" essendo un termine tecnico gergale per fare riferimento al requisito degli standard XML e XHTML che tutti i tag devono avere tag di chiusura e devono essere nidificati nell'ordine corretto . <hr> e <br> non soddisfano i requisiti di XML e XHTML perché non hanno tag di chiusura, ad esempio: <br /> o <br> </br> sono validi, <br> non è XHTML o XML validi . L'HTML, ovviamente, non ha i requisiti ben formati, quindi <br> e <hr> sono validi solo in HTML.
Kmeixner,

20

XML richiede che tutti i tag abbiano un tag di chiusura corrispondente. Quindi esiste una sintassi speciale a breve termine per i tag senza contenuto interno.

HTML5 non è XML, quindi non dovrebbe presentare tale requisito. Né è HTML 4.01.

Ad esempio, nelle specifiche HTML5 , tutti gli esempi con brtag usano la <br>sintassi, no <br/>.

UPD In realtà, <br/>è consentito in HTML5 . 9.1.2.1, 7.


2
"HTML5 non è XML, quindi non dovrebbe costituire un tale requisito." La correttezza o meno dipende dall'interpretazione della parola "HTML5". Se parliamo di HTML5 come linguaggio, questa affermazione è corretta. Se tuttavia parliamo di HTML5 come una specifica, tale affermazione non è corretta. La specifica HTML5 definisce "un vocabolario e le API associate per HTML e XHTML". So che è un po 'pignolo, non sto dicendo che questa risposta sia sbagliata, sto solo fornendo ulteriori informazioni per il lettore.
Christian Hujer,

14

Se sei interessato alla comparabilità (non alla compatibilità, ma alla comparabilità), allora mi atterrei <br />.

Altrimenti, <br>va bene.


1
Qualcuno dovrebbe tornare indietro. Il significato è cambiato.
Josiah,

9
Cosa si intende per comparabilità? Non capisco
tuxayo,

12

Entrambi <br>e <br />sono accettabili in HTML5, ma nello spirito di HTML, <br>dovrebbero essere usati. HTML5 consente di chiudere le barre per essere più compatibile con i documenti che in precedenza erano HTML 4.01 e XHTML 1.0, consentendo una più facile migrazione a HTML5. Naturalmente, <br/>è anche accettabile, ma per essere compatibile con alcuni browser meno recenti, dovrebbe esserci uno spazio prima della barra di chiusura ( /).


1
@ Knickerless-Noggins Non sono sicuro di dove lo stai leggendo, ma <br />è perfettamente accettabile e W3Schools non è la specifica per HTML. Vedi la specifica HTML5 , che afferma chiaramente che "Quindi, se l'elemento è uno degli elementi vuoti , o se l'elemento è un elemento estraneo , potrebbe esserci un singolo carattere" / "(U + 002F) . ] "
kevinji,

Questa risposta, come altre, minimizza in modo errato la legittimità della rigorosa conformità XML in HTML5. Il supporto per XML non è una funzione di transizione o migrazione temporanea. Il supporto opzionale della conformità XML era un obiettivo fondamentale di HTML5. È una funzionalità vitale per le persone che utilizzano strumenti XML per lavorare con il loro contenuto HTML.
Basil Bourque,

12
  1. Se stai inviando HTML su un normale sito web che puoi usare <br> o <br/> , entrambi sono validi ogni volta che stai offrendo HTML5 come testo / HTML.

  2. Se si sta servendo HTML5 come XHTML (cioè contenuto application / xhtml + xml, con una dichiarazione XML), quindi è necessario utilizzare un tag di chiusura di auto in questo modo: <br/>.

    In caso contrario, alcuni browser potrebbero rifiutare di eseguire il rendering della tua pagina (Firefox in particolare è molto severo sul rendering solo di pagine xhtml + xml valide).

    Come notato in 1. <br/>è valido anche per HTML5 che sembra essere generato come XML ma servito come un normale testo / html senza una dichiarazione XML (come da una trasformazione XSL che genera pagine Web o qualcosa di simile).

Per chiarire la confusione: mettere uno spazio prima che la barra non sia richiesta in HTML5 e non fa alcuna differenza sul modo in cui viene visualizzata la pagina (se qualcuno può citare un esempio, lo ritrarrò, ma non credo che sia vero - ma IE fa sicuramente molte altre cose strane con tutte le forme di <br>tag).

L'eccellente validatore su http://validator.w3.org è davvero utile per verificare ciò che è valido (anche se non sono sicuro che puoi fare affidamento su di esso per controllare anche il tipo di contenuto).


aspetta, il mimetype text / html è XML rigoroso?
entro il

1
Non si dovrebbe servirlo con una dichiarazione XML se si utilizza text / html, ma il contenuto può essere altrimenti XML valido (ad esempio, generato da qualcosa che genera XML, come l'output XSLT o un oggetto che serializza in XML).
Iain Collins,

Ancora non capisco: se text / html dovrebbe avere un <br />, quando dovrei usare non chiuso <br>?
entro il

1
Mi dispiace, entrambi sono tecnicamente validi per HTML5 se è via text / html. Puoi confermarlo con il validatore (per lo più) fantastico su validator.w3.org . La mia formulazione sopra è povera, vedo che ora, lo modificherò.
Iain Collins,

3
Penso che sia stato Netscape Navigator 3 o 4 che non mi è piaciuto <br/>, di certo nulla di cui preoccuparsi in questi tempi.
robertc,

12

Entrambi <br>e <br/>andranno bene, ma preferisco <br/>perché è leggermente più logico. È logico aspettarsi un tag di chiusura ogni volta che c'è un tag di apertura. Pertanto, il tuo codice è leggermente più facile da leggere se non usi un tag di apertura quando non ci sarà un tag di chiusura.

Tutti i browser (tranne forse quelli molto vecchi che non contano) mostreranno entrambi esattamente gli stessi. Tuttavia, <br>non è compatibile xHTML.


7

<br>e <br/>renderizzare diversamente. Alcuni browser interpretano <br/>come <br></br>e inseriscono due interruzioni di riga


12
Che cosa? Sai quali browser?
Eikern,

7
Trovato questo durante il test dei browser dell'era ie5 / ns4. Se ricordo bene era cioè in modalità di conformità agli standard. Ma è stato tanto tempo fa ...
Samuel

3
Per i browser HTML4 rigorosi (che è praticamente solo validatore HTML4), <br />significa <br>&gt;.
Konrad Borowski

7

<br>è sufficiente ma in XHTML <br />è preferito secondo WHATWG e secondo W3C .

Per citare la Sezione 8.1.2.1 della Raccomandazione HTML 5.2 W3C, 14 dicembre 2017

I tag di avvio devono avere il seguente formato:

...

  1. Dopo gli attributi o dopo il nome del tag se non ci sono attributi, potrebbero esserci uno o più caratteri di spazio. (Alcuni attributi devono essere seguiti da uno spazio. Vedere §8.1.2.3 Attributi di seguito.)

  2. Quindi, se l'elemento è uno degli elementi vuoti o se l'elemento è un elemento estraneo, allora potrebbe esserci un singolo carattere SOLIDUS U + 002F (/). Questo personaggio non ha alcun effetto sugli elementi vuoti, ma su elementi estranei contrassegna il tag iniziale come autochiudente.

Se si utilizza Dreamweaver CS6, verrà completato automaticamente come <br />.

Per convalidare il file HTML su W3C, consultare: http://validator.w3.org/


@Julix In effetti, perché i voti negativi? Questa è una delle poche risposte corrette in questa pagina. HTML5 è assolutamente conforme a XML, facoltativamente e nella sintassi XML, un singolo tag deve essere chiuso con la barra. In che modo fatti così semplici possono essere così male interpretati se scritti in bianco e nero nelle specifiche .
Basil Bourque,

5

Nella convalida, di questa domanda, dipende davvero da cosa !DOCTYPEstai cercando di ottenere la verifica.

Il mio preferito personale è il luogo in 4.01 Transcui utilizzo <br/>e cancella gli avvisi e gli errori che possono essere spuntati durante la convalida

Strict è una bestia molto più complicata, odia "SHORTTAGS"e letteralmente vuole solo<br></br>

Nel HTML5o "LAX" del mondo del codice, non c'è davvero una risposta giusta perché detects every example you put uplì come corretta ......

Alla fine, penso che tutto ciò che conta is what validation YOU PREFERo the person that you are working for prefers... con il lackadaisicalmovimento di rigore del codice in html5stiamo vedendo alcuni CODICI MOLTO POCO


4

IMHO è meglio usare la notazione regolare ( <br />) invece della notazione perdonante ( <br>) per i seguenti motivi:

Consistenza

Nel tuo HTML c'è probabilmente qualche SVG e SVG supportano solo la notazione regolare (es <rect />.).

hackability

Non è un caso che framework come React e NativeScript utilizzino una notazione XML.
Il tuo codice di markup sarà più facile da analizzare.

Chiarezza

La notazione regolare è più facile da leggere e capire, anche a tarda notte.

specificazioni

Entrambi <br>e <br />sono tag HTML validi.

Conclusione

Se si utilizza un editor di testo completo, configurarlo per utilizzare la notazione regolare (che viene chiamata XHTML da Emmet ).
Ad esempio, in Visual Studio Code devi solo aggiungere la seguente riga alle tue impostazioni:

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

1
A rigor di termini, entrambi sono brevi notazioni: rispettivamente la notazione breve HTML e la notazione breve XML. La notazione completa è <br></br>ed è valida in X (HT) ML, ma non in HTML.
Ilya Streltsyn,

1
HTML5 non ha introdotto <br>. È sempre stato in HTML. XHTML introdotto <br/>
jmarkmurphy il

1
Per approfondire la storia di questo, è necessario approfondire SGML.
Michael Kay,

3

Bene, tutto quello che so è che <br />dà una pausa con una linea bianca e <br>solo una pausa in alcuni casi. Questo è successo a me quando stavo installando uno script IPN (PHP) e ho inviato mail e controllato la posta in arrivo. Non so perché, ma ho solo avuto il messaggio di apparire pulito usando entrambi<br /> and <br>

Dai un'occhiata alla mail qui: http://snag.gy/cLxUa.jpg

Le prime due sezioni di testo sono separate da <br />, quindi le righe degli spazi bianchi, le ultime tre righe di testo in fondo e l'ultima sezione è separata da <br>e dà solo una nuova riga.


3
Che browser era quello?
Dave Burton,


2

Come molti altri hanno coperto, entrambi <br>e <br/>sono accettabili.

Immagino che il compromesso sia la migliore leggibilità e retrocompatibilità <br/>rispetto all'invio di un carattere in meno agli utenti finali <br>.

E poiché Google lo usa, <br>lo farò anch'io.

(Naturalmente tieni presente che potrebbero servirmi <br>perché sto usando Chrome che sanno supportarlo. In IE potrebbero ancora servire <br/>)


2

<br>funziona benissimo. Le versioni più severe come XHTML richiedono di aggiungere la chiusura, e davvero le vecchie versioni di HTML che non includono un DOCTYPEmake <br>un tag non vuoto, come <br></br>.

Riassumendo: <br>va bene. Anche altri vanno bene.


2

In HTML5 la barra non è più necessario: <br>,<hr>


La barra non è mai stata necessaria e non è mai stata specificata in alcuna specifica HTML né utilizzata come esempio nelle specifiche.
Rob,

1
@Rob Non so dove ottenere le specifiche HTML, ma le mie dalle organizzazioni WHATWG e W3C. Entrambe pubblicano specifiche che definiscono chiaramente la rigorosa conformità XML come funzionalità opzionale di HTML5. Ciò include in particolare la chiusura di singoli tag con />. Vedere le sezioni 8.1.2.1 e 2 . E guarda il documento HTML vs. XHTML su whatwg.org e il W3C Polyglot Markup: un profilo solido del vocabolario HTML5 al W3C.
Basil Bourque,

@BasilBourque Si prega di leggere le specifiche esatte per quei tag in HTML e non visualizzare XML o XHTML che non sono l'argomento qui. Non troverai mai scritte o esempi scritti in alcuna specifica per HTML nella storia di Internet in cui viene utilizzata, richiesta o addirittura suggerita una barra di chiusura.
Rob

1
@Rob Tutto ciò che posso fare è ripetere: il W3C ha pubblicato un documento chiamato HTML 5.2 in cui la Sezione 8.1.2.1. I tag di inizio indicano chiaramente che un tag a chiusura automatica con o con una barra è valido, al punto 6: Quindi, se l'elemento è uno degli elementi vuoti o se l'elemento è un elemento estraneo, allora potrebbe esserci una singola U + 002F carattere SOLIDUS (/). Questo personaggio non ha alcun effetto sugli elementi vuoti, ma su elementi estranei contrassegna il tag iniziale come autochiudente. Gli altri documenti che ho collegato spiegano che se si esprime HTML5 come XML, è richiesta la barra.
Basil Bourque,

1
@BasilBourque Non ho mai detto che non fosse valido. Ho detto che non ha significato e non ha alcuno scopo, come hai citato tu stesso. E, ancora una volta, stai introducendo XML come giustificazione per usarlo in HTML. Non farlo! Non sono la stessa cosa! Lo chiamiamo "tag soup" quando il parser HTML deve interpretare il contenuto XML.
Rob,

2

Nella maggior parte dei casi in HTML, i tag sono in coppia. Ma per un'interruzione di riga non è necessario un paio di tag. Pertanto, per indicare questo, HTML utilizza il <br/>formato. <br/>è quello giusto. Usa quel formato.

<br>Il tag non ha tag di fine in HTML In XHTML, il <br>tag deve essere chiuso correttamente, in questo modo:<br />

In XML ogni tag deve essere chiuso. XHTML è un'estensione di XML, quindi tutte le regole di XML devono essere seguite per XHTML valido. Quindi anche i tag vuoti (nodi senza nodi figlio) come
dovrebbero essere chiusi. XML ha una forma breve chiamata tag a chiusura automatica per nodi vuoti. Puoi scrivere <br></br> as <br />. Quindi in XHTML <br />viene utilizzato.

L'HTML è molto indulgente in questo senso e non esiste una regola del genere. Quindi in HTML nodi vuoti come <br> <hr> <meta>etc vengono scritti senza la barra di chiusura.

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

Non tutti i tag possono essere chiusi automaticamente. Ad esempio, un tag come <script src="jQuery.min.js" />non è consentito da XHTML DTD.


1

Ummm ..... qualcuno conosce un SINGOLO fornitore, user-agent o produttore di browser che abbia mai seguito le Specifiche W3C al 100% ??? Quindi, se HTML5 dice che supporta tutte e tre le versioni degli elementi di interruzione, puoi scommettere che i venditori supportano le stesse versioni e anche più sciatte!

L'UNICA cosa che conta in questo dibattito è usare CONSISTENTEMENTE la codifica che segue anche le specifiche XML e le specifiche HTML quando possibile. Ciò significa che dovresti utilizzare la versione XML corretta del tag di interruzione e incoraggiare tutto il tuo team a fare lo stesso:

<br />

Lo stesso formato di barra spaziatrice dovrebbe essere applicato per i tag img, a, h e meta nel codice. Perché? Perché:

  1. È retrocompatibile con i vecchi user-agent / browser XHTML
  2. I fornitori di browser supportano comunque la versione XML, quindi la specifica HTML5 è controversa.
  3. Le implementazioni sciatte della maggior parte degli user-agent oggi, in passato e in futuro lo accetteranno.
  4. Permette al markup di essere comparabile con gli standard XML nel caso in cui dovessi tornare a creare documenti XHTML / XML dal tuo markup.
  5. È "buona pratica di codifica" per TUTTI GLI SVILUPPI WEB continuare a utilizzare solide pratiche di markup che seguono XML, inclusa la codifica in tutte le lettere minuscole, gli attributi tra virgolette, i caratteri XML sfuggiti, ecc. Ecc. Perché? In futuro, se devi passare ai dati XML, codifichi e pensi automaticamente in XML.
  6. Possiamo solo sperare che nel futuro World Wide Web ci allontaniamo dagli standard implementati dai fornitori privati ​​e torniamo a un markup solido, affidabile e verificato che analizza più velocemente, sposta i dati sui fili più velocemente e rende la nostra futura Internet più standardizzata mezzo utilizzando XML.

Inoltre, nel mondo dei robot e delle macchine che è qui, dove i robot non hanno gli stessi problemi di codifica dell'interfaccia umana risolti da HTML5, torneranno volentieri ai sistemi di dati XML e analizzeranno tali pagine Web dell'interfaccia utente molto più velocemente quando convertiti in XML dati.


0


funziona perfettamente in HTML5. HTML5 consente un po 'più margine di libertà rispetto a XHTML


0

Se stai usando HTML5, allora usare <br>è la strada giusta da percorrere :)


0

sia <br>e <br/>opere, ma non v'è alcuna necessità di utilizzare la seconda causa HTML 5 supporta anche prima sintassi che è così facile


-3

<br>e il <br />rendering in modo diverso in alcuni browser, quindi scegliere l'uno o l'altro non danneggerà il tuo progetto, ma aspettati che una ricerca in blocco ... il posto influisca sul rendering della pagina in alcuni browser, il che può comportare un lavoro extra per te o addirittura imbarazzo nel caso in cui la modifica non influenzi nulla nel tuo browser di test, ma la interrompa nel browser preferito dei tuoi clienti.

Preferisco <br>poiché è quello che ho usato da Erwise e Netscape Navigator (i primi browser Web), ma non c'è motivo di non scegliere <br />invece. Può essere utile per alcune preelaborazioni, comparabilità, ecc.

Anche se la tua scelta si riduce a preferire l'aspetto dell'uno rispetto all'altro, oppure tu (o il tuo editor HTML preferito, ad esempio Dreamweaver), potresti volere che il tuo codice sia conforme a XML. Tocca a voi.

Una breve nota a margine:

Da non confondere br, ma in aggiunta puoi anche considerare l'uso di wbrtag nel tuo HTML: un tag di opportunità di interruzione di parole, che specifica dove in un testo sarebbe opportuno aggiungere un'interruzione di riga.

Per ulteriori letture, leggere le specifiche HTML5 .


5
Vedi la specifica HTML5 , che afferma chiaramente che "Quindi, se l'elemento è uno degli elementi vuoti , o se l'elemento è un elemento estraneo , potrebbe esserci un singolo carattere" / "(U + 002F) . ] " <br>, ovviamente, è un elemento vuoto, come puoi vedere nel link tra virgolette.
kevinji,

-4

Gli elementi senza tag di fine vengono chiamati come tag vuoti. In HTML 4 e HTML 5, i tag di fine non sono richiesti e possono essere omessi.

In xhtml, i tag sono così severi. Ciò significa che deve iniziare con il tag iniziale e terminare con il tag finale.


1
Non corretto. Un tag singolo è valido in HTML5 tanto quanto una coppia di tag inizio-fine. Vedi le specifiche HTML 5.2 .
Basil Bourque,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.