202 votes

Est-il parfois mauvais d'utiliser <BR /> ?

Est-il parfois mauvais d'utiliser <BR/> tags ?

Je pose la question parce que l'un des premiers conseils que m'a donnés mon équipe de développement était le suivant : N'utilisez pas <BR/> ; à la place, utilisez des styles. Mais pourquoi ? L'utilisation des styles a-t-elle des conséquences négatives ? <BR/> tags ?

13 votes

La meilleure façon de trouver la meilleure réponse est d'aller voir votre équipe de développement et de lui demander POURQUOI ?

0 votes

Amen à cela... Demandez à la source, pas à quelqu'un qui va deviner.

52 votes

Est-ce que c'est soudainement la mauvaise chose à faire d'essayer d'obtenir une réponse de StackOverflow plutôt que des membres de l'équipe ?

223voto

Gareth Points 42402

La principale raison de ne pas utiliser <br> c'est que ce n'est pas sémantique . Si vous voulez deux éléments dans des blocs visuels différents, vous les voulez probablement dans des blocs logiques différents.

Dans la plupart des cas, cela signifie simplement utiliser des éléments différents, par exemple <p>Stuff</p><p>Other stuff</p> puis en utilisant le CSS pour espacer correctement les blocs.

Il y a des cas où <br> est sémantiquement valide, c'est-à-dire les cas où le saut de ligne est partie des données que vous envoyez. Ceci est vraiment limité à 2 cas d'utilisation - la poésie et les adresses postales.

45 votes

Personnellement, je préférerais utiliser <pre/> pour la poésie. De cette façon, vous spécifiez explicitement que l'intention est de conserver la composition originale, y compris les éventuelles indentations.

7 votes

@MichaGórny soulève un bon point - <br> ne semblent être appropriées que lorsque tous des conditions suivantes s'appliquent : 1. Les traits de suspension sont sémantiquement significatifs, 2. pas sémantiquement significatif (sinon, vous devriez utiliser un <pre> Il n'existe pas d'autre balise sémantiquement appropriée, comme une balise de paragraphe ou d'en-tête. Les adresses postales remplissent ces trois conditions, tout comme les paroles de chansons. La poésie pourrait plausiblement violer la condition "l'indentation n'est pas significative", et pourrait donc être mieux placée dans une balise de type <pre> .

4 votes

Et si on utilisait <br /> dans la signature d'un courriel, par exemple : <footer>Sincerely,<br />StrexCorp</footer> Opinions ?

123voto

iamkoa Points 1048

Je pense que votre équipe de développement fait référence à <br /> à la place de l'espacement des marges. Pour créer un espace vide entre les éléments, utilisez le style padding / margin via CSS.

Mauvaise utilisation de <br /> :

<div>
   Content
</div>
<br />
<br />
<br />
<br />
<div>
     More content...
</div>

Bonne utilisation de <br /> :

<style>
     div {
          margin-top:10px;
     }
</style>

<div>
   Content<br />
   Line break
</div>

<div>
     More content...
</div>

4 votes

Vous ne pouvez pas simplement enlever vos <br>s et ajouter du CSS, parce que si vous avez enlevé vos <br>s, il n'y a rien à le style. Il n'est pas très utile de dire "supprimez vos sauts de ligne" sans aider à remplir (littéralement) les blancs.

8 votes

Tu as raison, iamkoa, mais ça n'explique pas pourquoi . Il ne répond donc pas à la question. 24 upvotes, ça fait un peu beaucoup.

0 votes

@iamkoa Vous n'expliquez pas pourquoi .

31voto

fengb Points 1041

En général, <br/> est une indication d'un mauvais HTML sémantique. Le cas le plus courant est l'utilisation de <br/> pour déclarer les séparations de paragraphes, alors qu'il existe de bien meilleures façons de le faire sémantiquement. Voir Bed and BReakfast .

Il y a des occasions où c'est la balise appropriée à utiliser, mais on en abuse assez souvent pour que les gens adoptent une mentalité de "ne pas utiliser" afin de forcer une meilleure réflexion sémantique.

18voto

Pekka 웃 Points 249607

Ce que votre équipe voulait dire, c'était probablement de ne pas utiliser <br> pour séparer les paragraphes. Par exemple :

<p>I am a paragraph</p>
<p>I am a second paragraph</p>

est le meilleur moyen de le faire, car vous pouvez alors facilement ajuster les espaces entre les paragraphes par le biais de CSS. En dehors de cela, je ne vois rien qui s'oppose aux sauts de ligne en tant que tels.

11voto

Dieter G Points 438

Le même concept s'applique à la raison pour laquelle nous n'utilisons pas de tableaux pour la mise en page - utilisez des tableaux pour les tableaux et des CSS pour la mise en page.

Utilisez <br/> pour rompre les lignes d'un bloc de texte et CSS si vous souhaitez modifier la mise en page.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X