Domanda HTML 5: è
,
o
?


Ho provato a controllare altre risposte, ma sono ancora confuso, specialmente dopo aver visto Riferimento HTML 5 di W3schools.

Pensavo che HTML 4.01 avrebbe dovuto "consentire" ai single-tag di essere solo <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 pratichi l'HTML 5.

<!DOCTYPE HTML>

È <br>, <br/> o <br />?


1684
2017-12-22 13:39


origine


risposte:


Semplicemente <br> è sufficiente.

Gli altri moduli sono lì per 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 uno spoglio <br> etichetta; se stai usando un sistema del genere, va bene da usare <br/>, non è necessario se non hai bisogno di farlo.

Pochissime persone usano effettivamente XHTML, comunque. Devi servire i tuoi contenuti come application/xhtml+xml per essere interpretato come XHTML, e che non funzionerà con le vecchie versioni di IE - significherà anche che qualsiasi piccolo errore che fai impedirà la visualizzazione della tua pagina nei browser che supportano XHTML. Quindi, la maggior parte di ciò che assomiglia a XHTML sul Web viene effettivamente pubblicato e interpretato come HTML. Vedere Servire XHTML come testo / html considerato dannoso per qualche informazione in più.


1288
2017-12-22 13:42



Penso che questa citazione dal Bozza di riferimento HTML 5 fornisce la risposta:

Alcuni elementi, tuttavia, sono vietati   dal contenere qualsiasi contenuto.   Questi sono noti come elementi vuoti. In   HTML, la sintassi precedente non può essere utilizzata   per elementi di vuoto. Per tali elementi,   il tag di chiusura deve essere omesso perché   l'elemento viene automaticamente chiuso da   il parser. Tali elementi includono   tra gli altri, br, hr, link e meta

Esempio HTML:

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

In XHTML, il sintattico XML   i requisiti impongono che questo deve essere   reso esplicito usando un esplicito   tag finale, come sopra, o vuoto   sintassi degli elementi. Questo è realizzato da   inserendo una barra alla fine del   avvia il tag immediatamente prima della destra   parentesi angolare.

Esempio:

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

Gli autori possono opzionalmente scegliere di utilizzare   questa stessa sintassi per gli elementi void in   la sintassi HTML pure. Alcuni autori   anche scegliere di includere spazi bianchi   prima della barra, tuttavia non è così   necessario. (Usando gli spazi bianchi in questo   la moda è una convenzione ereditata da   le linee guida di compatibilità in XHTML   1.0, Appendice C.)


195
2017-12-22 13:44



XML non consente di lasciare i tag aperti, così fa <br> un po 'peggio degli altri due. Gli altri due sono approssimativamente equivalenti con il secondo 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 entrambi <br/> o <br />, a seconda del tuo aspetto estetico.

Per riassumere: tutti e tre sono validi e il primo è un po 'meno "portatile".

modificare: Ora che siamo tutti pazzi per le specifiche, penso che valga la pena sottolineare che secondo dev.w3.org:

I tag di inizio sono costituiti dai 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ù spazi   personaggi.
  4. Facoltativamente, uno o più caratteri di spazio.
  5. Opzionalmente, un carattere "/", che può essere presente solo se il   l'elemento è un elemento vuoto.
  6. Un carattere ">".

119
2017-12-22 13:42



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

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

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

Gli appunti:

  • <br></br> non è valido in HTML 5, verrà considerato come due interruzioni di riga.
  • XHTML è case sensitive, HTML non è case sensitive.
  • Per compatibilità con le versioni precedenti, alcuni vecchi browser analizzerebbero XHTML come HTML e fallirebbero <br/> ma no <br />

Riferimento:


88
2017-12-30 05:40



Secondo il spec la forma prevista è <br> per HTML 5 ma è consentita una barra di chiusura.


52
2017-12-22 13:44



XML richiede che tutti i tag abbiano un tag di chiusura corrispondente. Quindi esiste una sintassi speciale per le scorciatoie per tag senza contenuti interni.

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

Ad esempio, in Specifiche HTML5, tutti gli esempi con br utilizzo dei tag <br> sintassi, no <br/>.

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


19
2017-12-22 13:48



Ti consiglio di utilizzare <br /> per i seguenti motivi:

1) Gli editor di testo e XML che evidenziano la sintassi XML in diversi colori si evidenzieranno 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 validare per errori e debug

3) Alcuni vecchi parser e alcune specifiche di codifica richiedono lo spazio prima della barra di chiusura (ad esempio: <br /> invece di <br/>) come la specifica di WordPress Plugin Coding: http://make.wordpress.org/core/handbook/coding-standards/html/

La mia esperienza, non ho mai incontrato un caso in cui l'utilizzo di <br /> è problematico, tuttavia, ci sono molti casi in cui <br/> o specialmente <br> potrebbe essere problematico in browser e strumenti più vecchi.


13
2018-01-16 17:43



Entrambi <br> e <br /> sono accettabili in HTML5, ma nello spirito dell'HTML, <br> dovrebbe essere usato. HTML5 consente di chiudere le barre per essere più compatibili con i documenti che erano precedentemente HTML 4.01 e XHTML 1.0, consentendo una migrazione più semplice verso HTML5. Ovviamente, <br/> è anche accettabile, ma per essere compatibile con alcuni browser più vecchi, ci dovrebbe essere uno spazio prima della barra di chiusura (/).


11
2018-04-21 18:50