JS implementiert ein Hover-Dropdown-Menü. Dies ist eine Szenariofrage, die in Front-End-Interviews gestellt wird. Das Prinzip besteht darin, den Attributwert des Anzeigeattributs des Menüstils von none=>block zu ändern. Die spezifische Implementierung wird unten gezeigt. Konzentrieren Sie sich auf die folgenden Teile.
<!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <meta http-equiv="X-UA-kompatibel" content="IE=edge"> <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1.0"> <title>Dropdown-Menü per Mauszeiger anzeigen</title> <Stil> /* Entfernen Sie ggf. vorhandene Stile für Platzhalter, a und li*/ * { Rand: 0; Polsterung: 0; } A { Textdekoration: keine; Farbe: Schwarz; } /*li entfernt hier nur den vorhandenen Stil ohne Angabe der Breite*/ li { Listenstil: keiner; } /* Flexibles Layout jedes Abschnitts als Element */ .container { Rand: 50px automatisch; Breite: 40%; Höhe: 40px; Anzeige: Flex; /* raumgleichmäßig zuerst gesehen*/ Inhalt ausrichten: gleichmäßiger Abstand; Hintergrundfarbe: himmelblau; } /* Floating muss nur in jedem Abschnitt durchgeführt werden*/ /* „Schriftgröße, Textausrichtung und Zeilenhöhe“ für Abschnitt festlegen => vererbbare Eigenschaften*/ .Abschnitt { schweben: links; Schriftgröße: 16px; Zeilenhöhe: 40px; Textausrichtung: zentriert; } /*Hier wird der Stil des Kopfes beim Hovern festgelegt*/ /* Kann auch als .head:hover geschrieben werden */ .Abschnitt:Hover .Kopf { Farbe: weiß; Hintergrundfarbe: orange; } /* Das gesamte Menü ist zunächst unsichtbar und der Stil ist festgelegt*/ .Speisekarte { Anzeige: keine; Hintergrundfarbe: transparent; } /* Sie können das Menü sehen, nachdem Sie den Mauszeiger darüber bewegt haben. Sie können nur über das übergeordnete Feld fahren*/ .Abschnitt:Hover .Menü { Anzeige: Block; } /* Gibt den Stil von li beim Hovern an*/ .menu li:hover { Hintergrundfarbe: orange; } </Stil> </Kopf> <Text> <div Klasse="Container"> <div Klasse="Abschnitt"> <a href="#" class="head">Schreiben Sie einen Aufsatz</a> <ul Klasse="Menü"> <li>Nach Informationen suchen</li> <li>Machen Sie sich Notizen</li> <li>Reproduzieren</li> </ul> </div> <div Klasse="Abschnitt"> <a href="#" class="head">Front-End lernen</a> <ul Klasse="Menü"> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> <li>LeetCode</li> </ul> </div> <div Klasse="Abschnitt"> <a href="#" class="head">Kleine Tage</a> <ul Klasse="Menü"> <li>Essen</li> <li>Schlaf</li> <li>Spielbohnen</li> </ul> </div> </div> </body> </html> Der endgültige Effekt ist wie folgt. Tipps: Es gibt eine weitere ähnliche Frage, nämlich die Implementierung eines Dropdown-Menüs durch Klicken. Der Unterschied besteht darin, dass Sie ein Klickereignis hinzufügen, es in JS schreiben und es später ergänzen müssen. Sie können die drei Abschnitte auch in der Form „ul li“ schreiben, sodass auch zwei verschachtelte ul-Ebenen mit besserer Semantik erreicht werden können, die als Referenz für die Leser dienen. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Probleme und Lösungen bei der Installation von Docker in der Alibaba Cloud
>>: Detaillierte Schritte zur Installation des NERDTree-Plugins in Vim unter Ubuntu
Bei der Arbeit an mobilen Seiten werden in letzte...
<br />Originaltext: http://andymao.com/andy/...
In Projekten wird häufig das zweispaltige Layout ...
1. Einleitung Wenn Sie früher mit dem Schreiben v...
Inhaltsverzeichnis JS-Funktionsaufruf, Apply- und...
Inhaltsverzeichnis Vorwort Anruf Verwendung errei...
ZeicheneffekteImplementierungscode JavaScript var...
Von NFS bereitgestellte Dienste Mounten: Aktivier...
Inhaltsverzeichnis 1. Standort / Matching 2. Stan...
Ich arbeite derzeit an elektronischen Archiven un...
1. DNS-Server-Konzept Die Kommunikation im Intern...
Inhaltsverzeichnis Namespaces mit gleichem Namen ...
Inhaltsverzeichnis Vorwort Asynchrones Laden Pake...
Vor Kurzem mussten wir eine geplante Migration de...
1. Im Kreis herumlaufen Nach einigem Herumexperim...