HTML 5: Est-ce,, ou?

J'ai essayé de vérifier autres réponses , mais je suis toujours confus-surtout après avoir vu W3Schools HTML 5 référence .

Je pensais que HTML 4.01 était censé "permettre" aux balises simples d'être simplement <img> et <br>. Alors XHTML est venu avec <img /> et <br /> (où quelqu'un a dit que l'espace est là pour les navigateurs plus anciens).

Maintenant, je me demande comment je suis censé formater mon code en pratiquant HTML 5.

<!DOCTYPE HTML>

Est-ce <br>, <br/> ou <br />?

1724
demandé sur BoltClock 2009-12-22 16:39:08

24 réponses

Simplement <br> est suffisant.

Les autres formes sont là pour la compatibilité avec XHTML; pour permettre d'écrire le même code que XHTML, et le faire fonctionner aussi en HTML. Certains systèmes qui génèrent du HTML peuvent être basés sur des générateurs XML, et n'ont donc pas la capacité de sortir juste une balise <br> nue; si vous utilisez un tel système, il est bon d'utiliser <br/>, ce n'est tout simplement pas nécessaire si vous n'avez pas besoin de le faire.

Très peu de gens utilisent réellement XHTML, cependant. Vous devez vous servir votre contenu comme application/xhtml+xml pour qu'il soit interprété comme XHTML, et cela ne fonctionnera pas dans les anciennes versions D'IE-cela signifie également que toute petite erreur que vous faites empêchera votre page d'être affichée dans les navigateurs qui prennent en charge XHTML. Ainsi, la plupart de ce qui ressemble à XHTML sur le web est réellement servi, et interprété, comme HTML. Voir servir XHTML en tant que texte / html considéré comme nuisible pour plus d'informations.

1316
répondu Brian Campbell 2016-02-19 11:40:22

Je pense que cette citation du projet de référence HTML 5 fournit la réponse:

Certains éléments, cependant, sont interdits de contenir tout contenu du tout. Ceux-ci sont connus comme des éléments vides. Dans HTML, la syntaxe ci-dessus ne peut pas être utilisée pour annuler éléments. Pour ces éléments, la balise de fin doit être omise car l'élément est automatiquement fermé par analyseur. Ces éléments comprennent, entre autres, br, hr, lien et méta -

Exemple HTML:

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

En XHTML, le syntaxique XML les exigences dictent que cela doit être Rendu explicite en utilisant soit un balise de fin, comme ci-dessus, ou le vide élément de syntaxe. Ceci est réalisé par l'insertion d'une barre oblique à la fin de la commencer la balise immédiatement avant la droite angle de fixation.

Exemple:

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

Auteurs peuvent éventuellement choisir d'utiliser cette même syntaxe pour les nuls éléments la syntaxe HTML aussi. Certains auteurs choisissez également d'inclure des espaces avant l' slash, mais ce n'est pas nécessaire. (En utilisant des espaces dans ce la mode est une convention héritée de les directives de compatibilité en XHTML 1.0, Annexe C.)

197
répondu Daan 2009-12-22 13:44:51

XML ne permet pas de laisser les balises ouvertes, donc cela rend <br> un peu pire que les deux autres. Les deux autres sont à peu près équivalents à la seconde préférée pour la compatibilité avec les anciens navigateurs. En fait, l'espace avant / est préféré pour des raisons de compatibilité, mais je pense que cela n'a de sens que pour les balises qui ont des attributs. Donc je dirais soit <br/> ou <br />, selon ce qui plaît à votre esthétique.

Pour résumer: les trois sont valides avec le premier étant un peu moins "portable".

Edit : Maintenant que nous sommes tous fous de spécifications, je pense qu'il vaut la peine de souligner que selon dev.w3.org :

Les balises de démarrage

Sont les suivantes pièces, dans exactement l'ordre suivant:

  1. Un caractère"
  2. le nom de la balise de l'élément.
  3. , Facultativement, un ou plusieurs attributs, dont chacun doit être précédé d'un ou plusieurs espaces caractère.
  4. éventuellement, un ou plusieurs espaces caractère.
  5. éventuellement, un caractère"/", qui ne peut être présent que si le l'élément est un élément vide.
  6. Un caractère>.
122
répondu Michael Krelin - hacker 2015-02-22 22:37:31

Dans HTML (JUSQU'à HTML 4) : utilisez <br>

Dans HTML 5: <br> est préférable, mais <br/> et <br /> est aussi acceptable

Dans XHTML: <br /> est préféré. Pouvez également utiliser <br/> ou <br></br>

Notes:

  • <br></br> n'est pas valide en HTML 5, il sera considéré comme deux sauts de ligne.
  • XHTML est sensible à la casse, HTML n'est pas sensible à la casse.
  • pour la rétrocompatibilité, certains anciens navigateurs analyseraient XHTML en HTML et échouer sur <br/>, mais pas <br />

Référence:

92
répondu JackDev 2014-06-12 05:15:17

Selon la spécification la forme attendue est <br> pour HTML 5 mais une barre oblique de fermeture est autorisée.

52
répondu tvanfosson 2014-06-11 12:49:41

XML exige que toutes les balises aient une balise de fermeture correspondante. Il existe donc une syntaxe spéciale pour les balises sans contenu interne.

HTML5 N'est pas XML, il ne devrait donc pas poser une telle exigence. Il n'est ni en HTML 4.01.

Par exemple, dans Spécifications HTML5, tous les exemples avec br tag utilisent <br> syntaxe, pas <br/>.

UPD Effectivement, <br/> est autorisé en HTML5. 9.1.2.1, 7.

19
répondu sastanin 2009-12-22 13:58:10

Je recommande d'utiliser
pour les raisons suivantes:

1) les éditeurs de texte et XML qui mettent en surbrillance la syntaxe XML dans différentes couleurs mettent en surbrillance correctement avec
mais ce n'est pas toujours le cas si vous utilisez

2)
est rétrocompatible avec XHTML et HTML bien formé (ie: XHTML) est souvent plus facile à valider pour les erreurs et le débogage

3) certains anciens analyseurs et certaines spécifications de codage nécessitent l'espace avant la barre oblique de fermeture (c'est-à-dire:
au lieu de
) comme le Plugin WordPress Coding spec: http://make.wordpress.org/core/handbook/coding-standards/html/

Je mon expérience, je n'ai jamais rencontré un cas où l'utilisation de
est problématique, cependant, il y a beaucoup de cas où
ou surtout
pourrait être problématique dans les anciens navigateurs et outils.

13
répondu Kmeixner 2014-01-16 17:43:42

Les Deux <br> et <br /> sont acceptables en HTML5, mais dans L'esprit du HTML, <br> devrait être utilisé. HTML5 permet de fermer les barres obliques afin d'être plus compatible avec les documents qui étaient auparavant HTML 4.01 et XHTML 1.0, permettant une migration plus facile vers HTML5. Bien sûr, <br/> est également acceptable, mais pour être compatible avec certains navigateurs plus anciens, il devrait y avoir un espace avant la barre oblique de fermeture (/).

11
répondu mc10 2011-04-21 18:50:02

Si vous êtes intéressé par la comparabilité (pas la compatibilité, mais la comparabilité) alors je m'en tiendrais à <br />.

Sinon, <br> est bien.

11
répondu MindStalker 2015-09-22 09:18:23
  1. Si vous publiez du HTML sur un site Web régulier, vous pouvez utiliser <br> ou <br/>, les deux sont valides chaque fois que vous servez HTML5 en tant que texte / html.

  2. Si vous servez HTML5 en tant que XHTML (c'est-à-dire content type application/xhtml+xml, avec une déclaration XML), vous devez utiliser une balise à fermeture automatique comme ceci: <br/>.

    Si vous ne le faites pas, certains navigateurs peuvent refuser catégoriquement de rendre votre page (Firefox en particulier est très strict sur le rendu seulement pages XHTML+xml valides).

    Comme indiqué dans 1. {[1] } est également valide pour HTML5 qui est généré en XML mais qui sert de texte/html sans une déclaration XML (par exemple à partir d'une transformation XSL qui génère des pages web, ou quelque chose de similaire).

Pour éclaircir la confusion: mettre un espace avant la barre oblique n'est pas nécessaire en HTML5 et ne fait aucune différence sur la façon dont la page est rendue (si quelqu'un peut citer un exemple, je vais le rétracter, mais je ne le fais pas croyez que c'est vrai - mais IE fait certainement beaucoup d'autres choses étranges avec toutes les formes de balises <br>).

L'excellent validateur à http://validator.w3.org est vraiment utile pour vérifier ce qui est valide (bien que je ne sois pas sûr que vous puissiez compter dessus pour vérifier également le type de contenu).

9
répondu Iain Collins 2013-03-20 22:46:06

Deux <br> et <br/> fera l'affaire, mais je préfère <br/> parce que c'est un peu plus logique. Il est logique de s'attendre à une balise de fermeture, chaque fois qu'une balise d'ouverture. Par conséquent, votre code est légèrement plus facile à lire si vous n'utilisez pas de balise d'ouverture alors qu'il n'y aura pas de balise de fermeture.

Tous les navigateurs (sauf peut-être certains très anciens qui n'ont pas d'importance) afficheront les deux exactement la même chose. Cependant, <br> n'est pas conforme à xHTML.

9
répondu Dan Bray 2016-02-28 01:18:55

<br> et <br/> afficher différemment. Certains navigateurs interprètent <br/> comme <br></br> et insèrent deux sauts de ligne

6
répondu Samuel 2010-12-01 04:27:10

Dans la validation, de cette question, Cela dépend vraiment de ce que !DOCTYPE vous essayez de faire passer la vérification.

Mon préféré est 4.01 Trans où j'utilise simplement le <br/> et il efface les avertissements et les erreurs qui ont pu apparaître lors de la validation

Strict est une bête beaucoup plus compliquée, elle déteste "SHORTTAGS" et littéralement ne veut que le <br></br>

Dans HTML5 ou le "laxiste" du monde du code, il n'y a vraiment pas une bonne réponse parce que detects every example you put up là comme correct......

En fin de compte, je pense que tout ce qui compte is what validation YOU PREFER ou the person that you are working for prefers... avec le mouvement lackadaisical dans la rigueur du code dans html5, nous voyons des codeurs très paresseux

4
répondu Slow Poke 2016-10-16 16:12:27

IMHO il est préférable d'utiliser la notation régulière (<br />) au lieu de la notation indulgente (<br>) pour les raisons suivantes:

Cohérence

Dans votre HTML, il y a probablement du SVG et SVG ne supporte que la notation régulière (par exemple <rect />).

Hackability

Ce n'est pas un cas où des frameworks comme React et NativeScript utilisent une notation XML.
Votre code de balisage sera plus facile à analyser.

Clarté

Le la notation régulière est plus facile à lire et à comprendre, même tard dans la nuit.

Spécifications

Les Deux <br> et <br /> sont des balises HTML valides.

Conclusion

Si vous utilisez un éditeur de texte complet, configurez-le pour utiliser la notation régulière (appelée XHTML par Emmet ).
Par exemple, dans Visual Studio Code il vous suffit d'ajouter la ligne suivante à vos paramètres:

"emmet.syntaxProfiles": {"html": "xhtml"}
3
répondu isar 2018-05-18 07:53:31

Eh Bien tout ce que je sais, c'est que <br /> donne une pause avec une ligne blanche et <br> donne juste une pause dans certains cas. Cela m'est arrivé quand je mettais en place un script IPN (PHP) et envoyais des mails et vérifiait la boîte de réception pour cela. Je ne sais pas pourquoi mais j'ai seulement eu le message pour avoir l'air soigné en utilisant les deux <br /> and <br>

Regardez le courrier ici: http://snag.gy/cLxUa.jpg

Les deux premières sections de texte sont séparées par <br />, d'où les lignes d'espaces, les trois dernières lignes de texte le bas et la dernière section sont séparés par <br> et donnent juste une nouvelle ligne.

2
répondu Emanuel Olsson 2013-04-30 15:59:53

En HTML <br> et en XHTML <br/>.

, je vous suggère d'utiliser <br/>.

2
répondu Shubham Kumar 2016-07-09 21:36:25

Dans HTML5 la barre oblique n'est plus nécessaire: <br>, <hr>

2
répondu harold ramos 2017-11-08 14:33:35

<br> est suffisante, mais en XHTML <br /> est préféré selon le WHATWG et selon le W3C.

Pour citer Section 8.1.2.1 de recommandation HTML 5.2 du W3C, 14 décembre 2017

Les balises de démarrage doivent avoir le format suivant:

  1. Après les attributs, ou après le nom de la balise s'il n'y a pas d'attributs, il peut y avoir un ou plusieurs caractères d'espace. (Certains attributs sont nécessaires pour être suivi d'un espace. Voir §8.1.2.3 attributs ci-dessous.)

  2. Ensuite, si l'élément est l'un des éléments vides, ou si l'élément est un élément étranger, alors il peut y avoir un seul caractère U+002F SOLIDUS (/). Ce caractère n'a aucun effet sur les éléments vides, mais sur les éléments étrangers, il marque la balise de début comme fermeture automatique.

Si vous utilisez Dreamweaver CS6, alors il sera autocomplete comme <br />.

Pour valider votre fichier HTML sur le W3C, voir : http://validator.w3.org/

2
répondu krupal 2018-08-05 01:31:46

Comme beaucoup d'autres l'ont couvert, <br> et <br/> sont acceptables.

Je suppose que le compromis est la meilleure lisibilité et la rétrocompatibilité de <br/> par rapport à l'envoi d'un caractère de moins aux utilisateurs finaux avec <br>.

Et puisque Google utilise <br> ainsi la volonté I.

(Bien sûr, gardez à l'esprit qu'ils pourraient me servir <br> parce que j'utilise Chrome qui, ils le savent, le supporte. Dans IE, ils pourraient toujours servir <br/>)

1
répondu Dimitris 2014-06-25 14:08:30

<br> fonctionne très bien. Les versions plus strictes comme XHTML vous obligent à ajouter la fermeture, et les versions vraiment anciennes de HTML qui n'incluent pas un DOCTYPE font <br> une balise non vide, comme <br></br>.

Résumer: <br> est très bien. Les autres sont aussi très bien.

1
répondu Aravind Suresh 2016-09-02 16:30:37

La plupart des cas en HTML, les balises sont en paire. Mais pour un saut de ligne, vous n'avez pas besoin d'une paire de balises. Par conséquent, pour l'indiquer, HTML utilise le format <br/>. <br/> est le bon. L'utilisation de ce format.

<br> tag n'a pas de balise de fin en HTML En XHTML, la balise <br> doit être correctement fermée, comme ceci: <br />

En XML, chaque balise doit être fermée. XHTML est une extension de XML, donc toutes les règles de XML doivent être suivies pour XHTML valide. Par conséquent, même les balises vides (nœuds sans enfant nœuds) comme
doit être fermé. XML a une forme courte appelée balises à fermeture automatique pour les nœuds vides. Vous pouvez écrire <br></br> as <br />. Par conséquent, dans XHTML <br /> est utilisé.

HTML est très indulgent à cet égard, et il n'y a pas une telle règle. Donc, en HTML, les nœuds vides comme <br> <hr> <meta> etc sont écrits sans la barre oblique de fermeture.

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

Toutes les balises ne peuvent pas être fermées automatiquement. Par exemple, une balise comme <script src="jQuery.min.js" /> n'est pas autorisée par XHTML DTD.

1
répondu Bhavin Solanki 2018-06-01 19:59:39

Ummm.....est-ce que quelqu'un connaît un seul fournisseur, agent utilisateur ou fabricant de navigateur qui a déjà suivi les spécifications du W3C à 100%??? Donc, si HTML5 dit qu'il prend en charge les trois versions break element, vous pouvez parier que les fournisseurs prennent en charge les mêmes versions et encore plus sloppier!

La seule chose qui compte dans ce débat est D'utiliser systématiquement un codage qui suit également les spécifications XML ainsi que les spécifications HTML lorsque cela est possible. Cela signifie que vous devez utiliser la bonne version XML et encourager toute votre équipe à faire de même:

<br />

Le même format d'espace-barre oblique devrait s'appliquer pour les balises img, a, hr et meta dans votre code. Pourquoi? Parce que:

  1. Son est rétrocompatible avec les anciens agents / navigateurs XHTML
  2. les fournisseurs de navigateurs prennent en charge la version XML de toute façon, donc la spécification HTML5 est discutable.
  3. les implémentations bâclées de la plupart des agents-utilisateurs aujourd'hui, dans le passé et dans le futur l'accepteront.
  4. Il permet votre balisage doit être comparable aux normes XML si vous devez revenir à la création de documents XHTML / XML à partir de votre balisage.
  5. C'est une" bonne pratique de codage " pour tous les développeurs WEB de continuer à utiliser des pratiques de balisage solides qui suivent XML, y compris le codage en minuscules, les attributs entre guillemets, les caractères XML échappés, etc. etc. Pourquoi? À l'avenir, si vous devez passer aux données XML, vous codez automatiquement et pensez en XML.
  6. nous ne pouvons qu'espérer que dans le futur World Wide Web, nous nous éloignons des normes mises en œuvre par les fournisseurs privés et revenir à un balisage solide, fiable et vérifié qui analyse plus rapidement, déplace les données sur les fils plus rapidement et fait de notre futur Internet un support plus standardisé en utilisant XML.

En outre, dans le monde de la robotique et de la machine qui est ici, où les robots n'ont pas les mêmes problèmes de codage D'interface humaine que HTML5 résout pour nous, ils seront heureux de revenir aux systèmes de données XML et d'analyser ces pages Web UI beaucoup plus rapidement lorsqu'ils sont convertis en données XML.

0
répondu Stokely 2017-05-17 19:23:25

<br> et <br /> rendent différemment dans certains navigateurs, donc choisir l'un ou l'autre sur l'autre ne va pas nuire à votre projet, mais attendez-vous à une recherche en vrac..remplacer pour affecter le rendu de la page dans certains navigateurs, ce qui peut entraîner un travail supplémentaire pour vous-même ou même une gêne si le changement n'affecte rien dans votre navigateur de test, mais le casser dans le navigateur préféré de vos clients.

Je préfère <br> car c'est ce que j'ai utilisé depuis Erwise et Netscape Navigator (premiers navigateurs web), mais il n'y a aucune raison de ne pas choisir <br /> à la place. Il peut être utile pour certains prétraitement, comparabilité, etc.

Même si votre choix se résume à préférer l'apparence de l'un à l'autre, ou vous (ou votre éditeur HTML préféré, par exemple Dreamweaver) pourriez aimer que votre code soit conforme au xml. C'est à vous.

Une note de côté rapide:

À ne pas confondre avec br, mais en plus vous pouvez également envisager d'utiliser wbr tags dans votre HTML: une balise d'opportunité de rupture de mot, qui spécifie où dans un texte il serait correct d'ajouter un saut de ligne.

Pour en savoir plus, veuillez lire la spécification HTML5 .

-2
répondu Knickerless-Noggins 2015-09-22 09:38:56

Les éléments sans balises de fin sont appelés comme des balises vides. Dans html 4 et html 5, les balises de fin ne sont pas requises et peuvent être omises.

En xhtml, les balises sont si strictes. Cela signifie que doit commencer par la balise de début et se terminer par la balise de fin.

-2
répondu Mahesh P 2017-11-10 12:11:50