42 votes

Devrait <br /> et <hr /> être évité à tout prix en web design?

Je continue de trouver des endroits où j'ai besoin d'utiliser l' <br /> balise parce que CSS ne peut pas faire ce dont j'ai besoin. N'est-ce pas l' <br /> considérés comme faisant partie de la "conception" et ne fait pas partie de la structure du document? Qu'est-ce que l'utilisation acceptable pour elle? Si les mêmes règles s'appliquent également à l' <hr />?

Voici un exemple de l'endroit où je me sens obligé d'utiliser l' <br /> balise:

Je veux afficher ce:

<address>1234 south east Main St. Somewhere, Id 54555</address>

comme ceci:

1234 south east main st.
Quelque Part, L'Id 54555

69voto

Joshua Carmody Points 4866

Il n'y a rien de mal à utiliser <br /> ou <hr />. Aucun d'entre eux sont obsolètes tags, même dans le nouveau HTML 5 projet de spec (les spec info). En fait, il est difficile de préciser l'utilisation correcte de la balise <br /> mieux que le W3C lui-même:

L'exemple suivant est l'utilisation correcte de la br élément:

<p>P. Sherman<br>
42 Wallaby Way<br>
Sydney</p>

br éléments ne doivent pas être utilisés pour séparer les groupes thématiques dans un paragraphe.

Les exemples suivants sont non-conformes, comme ils l'abus de la br élément:

<p><a ...>34 commentaires.</a><br>
<a ...>Ajouter un commentaire.<a></p>

<p>Nom: <input name="nom"><br>
Adresse: <input name="adresse"></p>

Ici sont les alternatives à la ci-dessus, qui sont correctes:

<p><a ...>34 commentaires.</a></p>
<p><a ...>Ajouter un commentaire.<a></p>

<p>Nom: <input name="nom"></p>
<p>Adresse: <input name="adresse"></p>

<hr /> peut très bien être une partie du contenu, et pas seulement un élément d'affichage. Faites preuve de jugement lorsqu'il s'agit de ce qui est du contenu, et ce qui ne l'est pas, et vous le saurez lors de l'utilisation de ces éléments. Ils sont tous les deux valides, des éléments utiles dans les spécifications du W3C en cours. Mais avec un grand pouvoir vient une grande responsabilité, afin de l'utiliser correctement.

Edit 1:

Une autre pensée que j'ai eu après j'ai d'abord hit "post" - il y a eu beaucoup d'anti-<table>, le sentiment chez les développeurs de sites web au cours des dernières années, et avec raison. Les personnes abusant de la balise <table>, de l'utiliser pour l'aménagement du site et la mise en forme. Ce n'est pas ce qu'il est, de sorte que vous ne devriez pas l'utiliser de cette façon. Mais est-ce à dire que vous devriez ne jamais utiliser la balise <table>? Que faire si vous avez réellement un honnête à la bonté de table dans votre code, par exemple, si vous écrivez un article scientifique, et que vous vouliez inclure le tableau périodique des éléments? Dans ce cas, l'utilisation de <table> est tout à fait justifié, il devient un balisage sémantique au lieu de mise en forme. C'est la même situation avec <br />. Lorsque c'est une partie de votre contenu (c'est à dire, le texte qui devrait casser à ces points afin d'être correct en anglais), l'utiliser! Lorsque vous êtes juste de le faire pour des raisons de mise en forme, il est préférable d'essayer d'une autre manière.

15voto

Jonathan Sampson Points 121800

Tant que vous n'utilisez pas <br/> pour former des paragraphes, vous êtes probablement d'accord dans mon livre;) Je déteste voir:

 <p>
  ...lengthy first paragraph...
  <br/>
  <br/>
  ...lengthy second paragraph...
  <br/>
  <br/>
  ...lengthy third paragraph...
</p>
 

En ce qui concerne une adresse, je le ferais comme ceci:

 <address class="address">
  <span class="street">1100 N. Wullabee Lane</span><br/>
  <span class="city">Pensacola</span>, <span class="state">Florida</span> 
  <span class="zip">32503</span>
</address>
 

Mais c'est probablement parce que j'aime jQuery et que je souhaite accéder à n'importe laquelle de ces parties à tout moment :)

7voto

George Stocker Points 31258

<hr /> et <br />, à l'instar de tout le reste, peuvent être utilisés pour faire de la conception quand ils ne devraient pas l'être. <hr /> est destiné à être utilisé pour diviser visuellement des sections de texte, mais localisé dans un sens. <br /> est destinée à faire la même chose, mais sans la ligne horizontale.

Ce serait un défaut de conception à utiliser <hr /> sur un site comme un modèle, mais dans ce post, par exemple, il serait correct d'utiliser les deux <br /> et <hr />, puisque cette section de texte devra encore être une section de texte, même si la mise en page du site a changé.

7voto

alex Points 799

Personnellement, je pense que vous pouvez faire des choses bien pires que d'utiliser ces deux balises. S'inquiéter excessivement à leur sujet est une perte de temps.

4voto

Andrew Hare Points 159332

<hr/> et <br/> sont des éléments de présentation, qui n'ont aucune valeur sémantique du document, à partir d'un point de vue puriste oui, ils devraient être évités.

Pensez HTML non pas comme une présentation de l'outil, mais plutôt comme un document qui doit être auto-descriptif. <hr/> et <br/> ajouter aucune valeur sémantique - au contraire, ils représentent une présentation spécifique dans le navigateur.

Cela étant dit, être pragmatique dans votre démarche. Essayez de les éviter à tout prix, mais si vous trouvez vous-même le codage de l'murs et sur le plafond pour les éviter, alors il vaut mieux aller de l'avant et de les utiliser. La sémantique est importante, mais les franges les cas de ce genre ne sont pas là où ils ont le plus d'importance.

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