


Correction du problème de l'affichage incorrect du menu déroulant CSS
Cet article vise à résoudre le problème de l'affichage incomplet du sous-menu déroulant CSS. En analysant le code HTML et CSS, nous pouvons trouver les raisons du chevauchement du sous-menu et fournir des exemples de code modifiés pour aider les développeurs à afficher correctement les menus déroulants à plusieurs niveaux. Le problème principal réside dans la méthode de positionnement des éléments sous-menu. En supprimant le positionnement absolu et en ajustant les styles connexes, le problème de l'affichage incomplet du sous-menu peut être résolu efficacement et l'expérience utilisateur peut être optimisée.
Analyse des problèmes
Lors de la création de menus déroulants à plusieurs niveaux, un problème commun est que le sous-menu (en particulier le sous-menu imbriqué multicouche) ne s'affiche pas correctement, provoquant la chevauchement des éléments de menu et seul le dernier sous-menu est affiché. Cela est généralement causé par une mauvaise utilisation des propriétés de positionnement CSS.
Dans le code fourni, le problème se trouve sur les deux sélecteurs: .Sub-host ul li et. Subomain ul li, tous deux position: absolue; ensemble. Le positionnement absolu déconnecte ces éléments de liste du flux de documents, les faisant s'empiler et finalement le dernier est affiché.
Solution
Pour résoudre ce problème, vous devez supprimer la position: absolue; Propriétés de .Sub-host ul li et. subdomain ul li. Dans le même temps, afin d'assurer l'affichage correct du sous-menu, certains ajustements du CSS sont également nécessaires.
Ce qui suit est le code CSS modifié:
* { Dimensionnement en boîte: Border-Box; } corps { marge: 0; } en-tête { marge: 0px; Font-Family: Arial, Helvetica, Sans-Serif; taille de police: 30px; } en-tête .Menu { marge: 0px; Color en arrière-plan: orange; } en-tête nav ul { marge: 0px; } un { Décoration du texte: aucune; } .menu ul li { Affichage: bloc en ligne; marge: 20px; rembourrage: 20px; Police-poids: Bold; Couleur: noir; } ul li: Hover { Color en arrière-plan: RVB (132, 127, 127); Couleur: RVB (249, 249, 249); } .sub-menu1 { Largeur: 200px; Affichage: aucun; Color en arrière-plan: orange; Position: absolue; marge-gauche: -20px! IMPORTANT; rembourrage: 0px! IMPORTANT; Transform: Translatey (20px); } .Sub-menu1 li { Largeur: 200px; Marge: 0px! IMPORTANT; } .dropdown_menu: Hover ul { Affichage: bloc; } .Sub-menu1 li: Hover { Color en arrière-plan: RVB (103, 197, 109); Couleur: RVB (249, 249, 249); } .Sub-host ul li { Largeur: 200px; Color en arrière-plan: vert; Affichage: aucun; Marge: 0px! IMPORTANT; rembourrage: 20px! IMPORTANT; Transform: tradlate (140px, -55px); } .Sub-domain ul li { Largeur: 200px; Color en arrière-plan: vert; Affichage: aucun; Marge: 0px! IMPORTANT; rembourrage: 20px! IMPORTANT; Transform: tradlate (140px, -55px); } .Sub-domain ul li { Affichage: aucun; } .Sub-host: Hover li { Affichage: bloc; } .Sub-Domain: Hover li { Affichage: bloc; } .Sub-menu2, .sub-menu3 { Position: absolue; hauteur: 0; }
Modifications clés:
- Supprimé la position: absolue; Propriétés dans .Sub-host ul li et. subdomain ul li.
- Ajouté .sub-menu2, .sub-menu3 {position: absolu; hauteur: 0; } Pour corriger la hiérarchie et les problèmes de hauteur du sous-menu.
Code html
Ce qui suit est le code HTML correspondant, qui reste inchangé:
<adal> <meat charset="UTF-8"> <meta name="Viewport" content="width = Device-width, initial-scale = 1.0"> <title> Menu déroulant <link rel="Stylesheet" href="style.css"> head> </title> <dique> <nav class="menu"> <ul> <a href="#"> <li> Home </li> </a> <li> à propos de nous </li> <li> Contactez-nous </li> <li class="dropdown_menu"> Services <ul class="sub-menu1"> <li class="sous-host"> Hôte <ul class="sub-menu2"> <li> 1 mois </li> <li> 3 mois </li> <li> 6 mois </li> <li> 12 mois </li> </ul> </li> <li class="sub-domain"> Domaine <ul class="sub-menu3"> <li> .ir </li> <li> .com </li> <li> .org </li> </ul> </li> </ul> </li> </ul> nav> -header> </nav></dique></meat></adal>
Choses à noter
- Contexte en cascade: Comprendre le contexte en cascade du CSS est crucial pour gérer les hiérarchies de menu complexes. Assurez-vous que la valeur Z-Index de l'élément parent est réglée correctement pour éviter d'être obscurcie par d'autres éléments.
- Compatibilité: testez votre menu sur différents navigateurs pour vous assurer qu'il est affiché normalement dans divers environnements.
- Conception réactive: considérez l'effet d'affichage à différentes tailles d'écran et utilisez des requêtes multimédias pour s'adapter aux appareils mobiles.
- Accessibilité: assurez-vous que le menu peut être navigué à l'aide du clavier et fournissez au lecteur d'écran des balises sémantiques appropriées.
Résumer
En supprimant le positionnement absolu inutile et en ajustant raisonnablement le style CSS, le problème de l'affichage incomplet des menus déroulants à plusieurs niveaux peut être résolu efficacement. N'oubliez pas que la compréhension du mécanisme de localisation et du contexte en cascade de CSS est la clé pour créer des interfaces Web complexes. Au cours du processus de développement, les tests et débogage continus garantissent que le menu fonctionne correctement dans toutes les situations et offre une bonne expérience utilisateur.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour commencer rapidement avec HTML, il vous suffit de maîtriser quelques balises de base pour créer un squelette Web. 1. La structure de la page est essentielle et, qui est l'élément racine, contient des méta-informations et est la zone d'affichage du contenu. 2. Utilisez le titre. Plus le niveau est élevé, plus le nombre est petit. Utilisez des balises pour segmenter le texte pour éviter de sauter le niveau. 3. Le lien utilise des balises et correspond aux attributs HREF, et l'image utilise des balises et contient des attributs SRC et Alt. 4. La liste est divisée en listes non ordonnées et listes commandées. Chaque entrée est représentée et doit être imbriquée dans la liste. 5. Les débutants n'ont pas à forcer la mémorisation de toutes les balises. Il est plus efficace de les écrire et de les vérifier pendant que vous écrivez. Maître la structure, le texte, les liens, les images et les listes pour créer des pages Web de base.

Shadowdom est une technologie utilisée dans la technologie des composants Web pour créer des sous-arbres DOM isolés. 1. Il permet la monture d'une structure DOM indépendante sur les éléments HTML ordinaires, avec ses propres styles et comportements, et n'affecte pas le document principal; 2. Créé via JavaScript, comme l'utilisation de la méthode attachshadow et la définition du mode à ouvrir; 3. Lorsqu'il est utilisé en combinaison avec HTML, il a trois caractéristiques principales: la structure claire, l'isolement de style et la projection de contenu (fente); 4. Les notes incluent le débogage complexe, le contrôle de la portée du style, les frais généraux de performances et les problèmes de compatibilité du cadre. En bref, Shadowdom fournit des capacités d'encapsulation natives pour construire des composants d'interface utilisateur réutilisables et non polluants.

ThenameattributeinaninputTagisUsesedToentifyyInput whentheformmissubmited; itSasaTheKeyInTheKey-ValuepairsentTotheServer, WhereTheUser'sinputisthevalue.1.Wenaformmissubmited, thereAmatTrributeBeCheseke

❌oucannotnesttagssisideanothertagbecauseit’sinvalidhtml; browsersautomatiquematethethefirstbeforeOpiningtheenxt, résultant de laparateParagraphs.

L'utilisation de balises est la méthode la plus simple et recommandée. La syntaxe convient aux navigateurs modernes pour intégrer directement le PDF; 2. L'utilisation de balises peut fournir une meilleure prise en charge du contenu de contrôle et de sauvegarde, la syntaxe est, et fournit des liens de téléchargement dans les balises sous forme de solutions de sauvegarde lorsqu'elles ne sont pas prises en charge; 3. Il peut être intégré via Google Docsviewer, mais il n'est pas recommandé d'utiliser largement en raison de problèmes de confidentialité et de performances; 4. Afin d'améliorer l'expérience utilisateur, les hauteurs appropriées doivent être définies, des tailles réactives (telles que la hauteur: 80VH) et les liens de téléchargement PDF doivent être fournis afin que les utilisateurs puissent les télécharger et les visualiser eux-mêmes.

La méthode de placement de style doit être sélectionnée selon la scène. 1. En ligne convient à la modification temporaire des éléments uniques ou du contrôle JS dynamique, tels que la couleur du bouton change avec le fonctionnement; 2. CSS interne convient aux projets avec quelques pages et une structure simple, ce qui est pratique pour la gestion centralisée des styles, tels que les paramètres de style de base des pages de connexion; 3. La priorité est donnée à la réutilisation, à la maintenance et aux performances, et il est préférable de diviser les fichiers CSS de liaison externe pour les grands projets.

Pour créer une liste HTML non ordonnée, vous devez utiliser une balise pour définir un conteneur de liste. Chaque élément de liste est enveloppé d'une balise et le navigateur ajoutera automatiquement des balles; 1. Créez une liste avec une balise; 2. Chaque élément de liste est défini avec une balise; 3. Le navigateur génère automatiquement des symboles de points par défaut; 4. Les sublilistes peuvent être mis en œuvre par le biais de la nidification; 5. Utilisez l'attribut de type de style liste de CSS pour modifier le style de symbole, tel que le disque, le cercle, le carré ou aucun; Utilisez ces balises correctement pour générer une liste standard non ordonnée.

THECONTANTITABLEATTRIBUTEMAKESANYHTMLEMÉMÉRITÉBYADDING CONTANTITALLE = "VRUE", permettant à la réception de codomente detteurthebrowser.
