Maison > interface Web > tutoriel CSS > Liens imbriqués en HTML : autorisés ou non ?

Liens imbriqués en HTML : autorisés ou non ?

Susan Sarandon
Libérer: 2024-12-09 03:52:10
original
1019 Les gens l'ont consulté

Nested Links in HTML: Allowed or Not?

Liens imbriqués : autorisé ou interdit ?

En développement Web, une question courante se pose : est-il permis d'imbriquer un lien dans un autre lien ?

W3C HTML4 Stance

Selon les directives HTML4 du W3C, les liens imbriqués sont interdits. L'élément A ne peut contenir aucun autre élément A.

Perspective HTML5

En HTML5, les règles ont légèrement évolué. Si l'imbrication des liens n'est toujours pas autorisée, il existe une nouvelle contrainte : le contenu interactif, qui comprend des balises d'ancrage (éléments A), ne peut pas être placé à l'intérieur d'un élément A.

Bonnes pratiques

Malgré ces restrictions, certaines mises en page peuvent nécessiter une zone cliquable qui englobe plusieurs éléments cliquables.

Alternative Approches

  • Utilisation de CSS : Attribuez la zone cliquable à un élément parent et utilisez CSS pour styliser le comportement du lien approprié.
  • Utilisation JavaScript : Utilisez des gestionnaires d'événements pour capturer les clics et déterminer l'action prévue en fonction de la cible. élément.

Exemple

Considérez l'extrait de code donné :

<a href="#" class="sp_mngt_bar">
    <h1><?php echo $v; ?></h1>
    <a href="#" class="t_icons t_icons_settings sp_mngt_settings"></a>
    <a href="#" class="t_icons t_icons_move sp_mngt_move"></a>
</a>
Copier après la connexion

Pour rendre l'intégralité de la barre grise cliquable, vous pouvez attribuer le gestionnaire d'événements click au parent élément et utilisez jQuery comme suit :

$('.sp_mngt_bar').click(function(e) {
  if (e.target.className.indexOf('sp_mngt_move') > -1) {
    // Handle move icon click
  } else if (e.target.className.indexOf('sp_mngt_settings') > -1) {
    // Handle settings icon click
  } else {
    // Handle main link click
  }
});
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal