183 votes

Ce qui est plus correct :<h1><a>..</a></h1>OU<a><h1>..</h1></a>

Simple question, attendent des réponses différentes  ;)

Il prévoit le même effet ? Selon le CSS utilisé Oui. Si il n’y a aucun CSS du tout ne doit se comporter très similaire.

165voto

Marco Points 796

La réponse correcte est `` . Si vous deviez utiliser l’autre modèle, vous obtenez une erreur de validation dans le validateur du w3c. Essayer sur : http://validator.w3.org/check

28voto

vaidas Points 356

En pré HTML 5 celui-ci

ne sera pas validé. Vous pouvez l’utiliser en HTML 5. Cependant, je voudrais utiliser ceci :

sauf si vous avez besoin d’ajouter plus de à l’intérieur le

11voto

pleasedontbelong Points 7264

``W3C n’est pas valide... Fondamentalement, vous ne pouvez pas mettre des éléments de bloc à l’intérieur des éléments inline

8voto

Jukka K. Korpela Points 71599

<h1><a>..</a></h1> et <a><h1>..</h1></a> ont toujours comporté presque le même, lorsque les feuilles de style n'affectent pas le rendu. Presque, mais pas tout à fait. Si vous naviguez à l'aide de la touche de tabulation ou autrement, de se concentrer sur un lien, un "rectangle de sélection" apparaît autour de le lien dans la plupart des navigateurs. Pour <h1><a>..</a></h1>, ce rectangle autour du texte du lien. Pour <a><h1>..</h1></a>, le rectangle s'étend à travers l'espace horizontal disponible, depuis le balisage fait l' a élément d'un élément de bloc dans le rendu, occupant 100% de la largeur par défaut.

Ce qui suit montre comment un concentré <a href=foo><h1>link</h1></a> est rendue par Chrome:

enter image description here

Cela implique que si vous les éléments de style, par exemple en définissant une couleur de fond pour les liens, les effets diffèrent d'une manière similaire.

Historiquement, <a><h1>..</h1></a> a été déclaré non valide en HTML 2.0, et après les spécifications HTML emboîté le pas, mais HTML5 changements que cette et le déclare comme valide. La définition formelle n'a pas affecté les navigateurs, seulement des validateurs. Toutefois, il est à distance possible que certains agents utilisateurs (probablement pas normal navigateurs, mais par exemple, spécialisée HTML convertisseurs, extracteurs de données, convertisseurs, etc.) ne parviennent pas à manipuler <a><h1>..</h1></a> correctement, car il n'a pas été autorisé dans le cahier des charges.

Il y a rarement une bonne raison pour faire un cap ou un texte dans une rubrique un lien. (C'est surtout illogique et mauvais pour la facilité d'utilisation.) Mais une question similaire a souvent présentés lors d'un en-tête (ou texte dans un en-tête) d'un potentiel de destination d'un lien, à l'aide par exemple, <h2><a name=foo>...</a></h2> contre <a name=foo><h2>...</h2></a>. Des considérations similaires s'appliquent à la présente (à la fois le travail, il peut y avoir une différence depuis la dernière rend l' a élément d'un bloc, et avant de HTML5, seul le premier est formellement interdit). Mais en outre, les deux façons sont dépassées, et à l'aide de l' id attribut directement sur l'élément d'en-tête est maintenant recommandé: <h2 id=foo>...</h2>.

7voto

Sam152 Points 8472

Les éléments H1 sont bloquer les éléments de niveau et points d’ancrage sont des éléments inline. Vous êtes autorisé à avoir un élément inclus dans un élément de niveau bloc, mais pas l’inverse. Quand vous considérez le modèle de boîte et le code HTML spec c’est logique.

Donc en conclusion, la meilleure façon est :

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