Question Quelle est la différence entre et , et ?


Quelle est la différence entre <b> et <strong>, <i> et <em> en HTML / XHTML? Quand devriez-vous utiliser chacun?


639
2017-11-07 10:56


origine


Réponses:


Ils ont le même effet sur les moteurs de rendu du navigateur Web normalmais il y a un différence fondamentale entre eux.

Comme l'auteur écrit dans un post de liste de discussion:

Pensez à trois situations différentes:

  • navigateurs web
  • personnes aveugles
  • téléphones portables

"Bold" est un style - quand vous dites "audacieux un mot", les gens savent essentiellement que cela signifie ajouter plus, disons "encre", autour des lettres jusqu'à ce qu'elles se détachent plus parmi le reste des lettres.

Cela, malheureusement, ne signifie rien pour un aveugle. Sur les téléphones mobiles et d'autres PDA, le texte est déjà gras car la résolution de l'écran est très petite. Vous ne pouvez pas mettre un gras en gras sans visser quelque chose.

<b> est un style - Nous savons ce que "gras" est censé ressembler.

<strong> toutefois est une indication de la façon dont quelque chose devrait être compris. "Fort" pourrait (et souvent) signifier "gras" dans un navigateur, mais cela pourrait également signifier un ton plus bas pour un programme parlant comme Jaws (pour les personnes aveugles) ou être représenté par un soulignement (puisque vous ne pouvez pas gras) sur un Palm Pilot.

HTML n'a jamais été conçu pour être sur les styles. Faire quelques recherches pour "Tim Berners-Lee" et "le web sémantique."  <strong> est sémantique: il décrit le texte qu'il entoure (par exemple, "Ce texte devrait être plus fort que le reste du texte que vous avez affiché") plutôt que de décrire Comment le texte qu'il entoure devrait être affiché (par exemple., "Ce texte devrait être en gras").


880
2017-11-07 11:07



<b> et <i> sont explicites - ils spécifient respectivement gras et italique.

<strong> et <em> sont sémantiques - ils spécifient que le texte ci-joint doit être "fort" ou "souligné" d'une certaine manière, généralement en gras et en italique, mais permet de contrôler le style réel via CSS. Par conséquent, ceux-ci sont préférés dans les pages Web modernes.


203
2017-11-07 10:59



<strong> et <em> ajouter une signification sémantique supplémentaire à votre document. Il se trouve juste qu'ils donnent également un style gras et italique à votre texte.

Vous pouvez bien sûr remplacer leur style avec CSS.

<b> et <i> d'un autre côté, n'appliquez le style de police et ne devrait plus être utilisé. (Parce que vous êtes censé mettre en forme avec CSS, et si le texte était réellement important, vous le rendriez probablement "fort" ou "souligné" de toute façon!)

J'espère que cela a du sens.


21
2017-11-07 11:00



<b> et <i> sont tous deux liés au style, alors que <em> et <strong> sont sémantiques. En HTML 4, les premiers sont classés comme éléments de style de police, et ce dernier comme éléments de phrase.

Comme vous l'avez indiqué correctement, <i> et <em> sont souvent considérés comme similaires, car les navigateurs rendent souvent les deux en italique. Mais selon les spécifications, <em>  indique l'accent et <strong>  indique un accent plus fort, ce qui est assez clair, mais souvent mal interprété. D'autre part, la distinction entre quand utiliser <i> ou <b> est vraiment une question de style.


7
2017-11-07 11:11



Tandis que <strong> et <em> sont bien sûr plus sémantiquement correct, il semble y avoir des raisons légitimes pour utiliser <b> et <i> tags pour le contenu écrit par le client.

Dans un tel contenu, les mots ou les phrases peuvent être en gras ou en italique et il ne nous appartient généralement pas d'analyser le raisonnement sémantique d'une telle mise en gras ou en italique.

En outre, un tel contenu peut faire référence à des mots et des phrases en gras et en italique pour exprimer une signification spécifique.

Un exemple serait une question d'examen en anglais qui demande à un étudiant de remplacer le mot en gras.


7
2017-11-09 02:18



Voici un résumé des définitions avec l'utilisation suggérée:

<b> ... une étendue de texte à laquelle l'attention est attirée à des fins utilitaires sans donner plus d'importance et sans implication d'une voix ou d'une humeur alternative, telle que mots clés dans un résumé de document, noms de produits dans une revue, mots exploitables dans un logiciel texte interactif, ou un article lede.

<strong> ... représente maintenant l'importance plutôt que l'emphase forte.

<i> ... une étendue de texte dans une autre voix ou humeur, ou autrement décalée de la prose normale d'une manière indiquant une qualité différente de texte, comme un désignation taxonomique, une terme technique, un phrase idiomatique d'une autre langue, une penséeou un nom de bateau dans les textes occidentaux.

<em> ... indique une emphase.

(Ce sont toutes des citations directes de sources W3C, avec mon emphase ajoutée. https://rawgithub.com/whatwg/html-differences/master/Overview.html#changed-elements et http://www.w3.org/TR/html401/struct/text.html#h-9.2.1 pour les originaux)


6
2017-11-14 20:57



Comme d'autres l'ont dit <b> et <i> sont explicites (c'est-à-dire "rendre ce texte gras"), alors que <strong> et <em> sont sémantiques (c'est-à-dire "ce texte devrait être souligné").

Dans le contexte d'un navigateur Web moderne, il est difficile de voir la différence (ils semblent tous deux produire le même résultat, n'est-ce pas?), Mais pensez aux lecteurs d'écran pour les malvoyants. Si un lecteur d'écran trouve une balise <i>, il ne sait pas quoi faire. Mais si elle rencontre une balise <em>, elle sait que tout ce qui est dedans doit être souligné à l'auditeur. Et là, vous obtenez la différence pratique.


3
2017-11-07 11:04