118 votes

La portée à l'intérieur de l'ancrage ou l'ancrage à l'intérieur de la portée ou cela n'a pas d'importance ?

Je veux faire mon nid span y a tags. Devrais-je

  1. Mettez <span> à l'intérieur de <a>
  2. Mettez <a> à l'intérieur de <span>
  3. Cela n'a pas d'importance ?

114voto

Jon Hadley Points 2371

3 - Cela n'a pas d'importance.

MAIS, j'ai tendance à n'utiliser qu'un <span> à l'intérieur d'un <a> si c'est seulement pour un partie du contenu de la balise, à savoir

<a href="#">some <span class="red">text</span></a>

Plutôt que :

<a href="#"><span class="red">some text</span></a>

Ce qui devrait évidemment être juste :

<a href="#" class="red">some text</a>

34voto

CraigTP Points 18514

Il est parfaitement valide (du moins selon les normes HTML 4.01 et XHTML 1.0) d'imbriquer soit une <span> à l'intérieur d'un <a> ou un <a> à l'intérieur d'un <span> .

Pour vous en convaincre, vous pouvez toujours vérifier sur le site de la Commission européenne. Service de validation du W3C MarkUp

J'ai essayé de valider :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  <html>
    <head>
      <title>Title</title>
    </head>
    <body>
       <p>
         <a href="http://www.google.com/"><span>Google</span></a>
       </p>
    </body>
  </html>

Et aussi la même chose que ci-dessus, mais avec l'élément <a> à l'intérieur de la <span>

c'est-à-dire

<span><a href="http://www.google.com">Google</a></span>

avec les doctypes HTML 4.01 et XHTML 1.0, et les deux ont passé la validation avec succès !

La seule chose à laquelle il faut faire attention est de s'assurer que vous fermez les balises dans le bon ordre. Ainsi, si vous commencez par une balise <span> alors un <a> assurez-vous de fermer le <a> avant de fermer la balise <span> et vice-versa.

20voto

Greg Points 132247

Peu importe - ils sont tous deux autorisés à l'intérieur de l'autre.

18voto

knittl Points 64110

Cela dépend de ce que vous voulez baliser.

  • si vous voulez un lien à l'intérieur d'un span, mettez <a> à l'intérieur de <span> .
  • si vous voulez baliser quelque chose dans un lien, mettez <span> sur <a>

16voto

Salman A Points 60620

SPAN est un GENERIQUE conteneur en ligne. Il importe peu qu'un a est à l'intérieur span o span est à l'intérieur a car tous deux sont des éléments en ligne. N'hésitez pas à faire ce qui vous semble logiquement correct.

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