<code>
ne représente qu'un "fragment de code informatique". Il a été pensé à l'origine pour de simples fragments de code comme i++
ou <code>
.
<pre>
"représente un bloc de texte préformaté, dans lequel la structure est représentée par les conventions typographiques plutôt que par des éléments". C'est l'objectif initial était rien de plus qu'exactement ceci: fournir un texte de la même manière qu'il a été donné par l'auteur, par exemple
+----------------------------------+
| |
| ATTENTION! TEXTE PRÉFORMATÉ À L'AVANCE! | =o=
| __; ~^
+----------------TT------------°
|| _____________ _____________________
|| | À LA GRAND-MÈRE > | TOTALEMENT PAS UN PIÈGE >
oÖo|| |°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°
| ö || | | .mm,
~"""~"""~"""~"""~"""~"""~~"""~"""~"""~"""~"""~"""~"""~"""~"""~""..MWMWc...~"""~""
Vous n'avez pas besoin d'utiliser de chacun avec chacun des autres. <pre>
a son propre rôle, comme <code>
dispose de sa propre. Toutefois, <pre>
est une façon de signaler que l'espace blanc dans le fragment est important, un rôle <code>
est manquant.
Cependant, pour revenir à ta question: la note de l' exacte formulation:
L'exemple suivant montre comment un bloc de code pourrait être marquée à l'aide de l'avant et d'éléments de code.
<pre><code class="language-pascal">var i: Integer;
begin
i := 1;
end.</code></pre>
Une classe est utilisée dans cet exemple pour indiquer la langue utilisée.
Il dit pourrait, pas devrait. Vous êtes libre de faire ce la façon dont vous le souhaitez. Il n'est pas recommandé par le W3C en aucune façon, cependant, personnellement, je vous recommande d'utiliser <pre><code>...
.
De plus amples explications
Chaque fois que white-space est une partie de votre code et de la structure de votre code, vous devez préciser que cette structure doit être conservée. Comme la structure dans le code est donné par les conventions typographiques (tabulations, sauts de ligne, les espaces) j'ai personnellement vous recommandons d'utiliser <pre><code>
, même si c'est sans doute plus de code et un autre nœud du DOM. Mais à chaque fois que manquant d'espace blanc de rendre votre code imparfait qu'il est nécessaire.
En dehors de cela, vous pouvez facilement varier entre de code en ligne et code-blocs, sans vérification de l' element.className
, et certains JS syntaxe surligneur fonctionne assez bien avec <pre><code>...
et de la bande de l' <code>
automatiquement.
Aussi, si vous utilisez une règle générale pour l' <code>
avec white-space:pre;
, vous ne pouvez pas l'utiliser pour les extraits sans classes supplémentaires. Si vous deviez créer une classe au lieu de cela, vous avez rien gagné par rapport à l' <pre><code>
.
Références