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
955 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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal