Warum werden beim Schweben keine Arbeit und keine Stile angezeigt?
P粉842215006
P粉842215006 2023-08-02 20:04:07
0
1
505
<p>Ich entwerfe eine Navigationsleiste, aber mein Mouseover funktioniert nicht. Wenn ich den Mauszeiger über das Element „Mann“ in meinem Dropdown-Menü bewege, funktioniert der Hover-Stil nicht und der Stil wird im Inspektor nicht angezeigt.有什么问题吗?这是我的HTML代码:</p> <p><br /></p> <pre class="brush:css;toolbar:false;">/* Navbar-Container */ Körper { Rand: 0; Polsterung: 0; Boxgröße: border-box; } li { Textdekoration: keine; } .nav-container { Regie: RTL; Textausrichtung: rechts } .navbar { Überlauf versteckt; Hintergrundfarbe: #333; Schriftfamilie: Arial; } /* Links innerhalb der Navigationsleiste */ .navbar a { schweben rechts; Schriftgröße: 16px; Farbe weiß; Textausrichtung: Mitte; Polsterung: 14px 16px; Textdekoration: keine; } /* Der Dropdown-Container */ .runterfallen { schweben rechts; Überlauf versteckt; } /* Dropdown-Schaltfläche */ .dropdown .dropbtn { Schriftgröße: 16px; Grenze: keine; Gliederung: keine; Farbe weiß; Polsterung: 14px 16px; Hintergrundfarbe: erben; Schriftart: erben; /* Wichtig für die vertikale Ausrichtung auf Mobiltelefonen */ Rand: 0; /* Wichtig für die vertikale Ausrichtung auf Mobiltelefonen */ } /* Dropdown-Inhalt (standardmäßig ausgeblendet) */ .dropdown-content { Anzeige: keine; Position: absolut; Hintergrundfarbe: #f9f9f9; Breite: 100 %; links: 0; Box-Shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0,2); Z-Index: 1; } .dropdown:hover .dropdown-content { Bildschirmsperre; } .megamenu-container { Hintergrundfarbe: Aqua; Breite: 100 %; } .megmenu { Breite: 100 %; } .megamenu-title { Breite: 20 %; Hintergrundfarbe: blau; Anzeige: Inline-Block; Polsterung: 5px 15px; vertikal ausrichten: oben; } .megamenu-subitems-default { Breite: 70 %; Hintergrundfarbe: blauviolett; Anzeige: Inline-Block; Polsterung: 15px; } .megamenu-item { float: nicht gesetzt !important; Polsterung: 0 !important; } .man:hover .megamenu-subitems-default { Sichtbarkeit: verborgen; } #subitems { Anzeige: Inline-Block; Sichtbarkeit: verborgen; Hintergrundfarbe: gelbgrün; Breite: 70 %; } .man:hover #subitems { Sichtbarkeit: sichtbar; } .prüfen { Farbe Gelb; } .man:hover .test { Farbe: Weizen; }</pre> <pre class="brush:html;toolbar:false;"><!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="./megamenu.css"> <title>Dokument</title> </head> <Körper> <div class="nav-container"> <div class="navbar"> <a href="#home">Home</a> <a href="#news">Neuigkeiten</a> <div class="dropdown"> <button class="dropbtn">Dropdown <i class="fa fa-caret-down"></i> </button> <div class="dropdown-content"> <div class="megamenu-container"> <div class="megmenu"> <div class="megamenu-title"> <ul> <li > <div class="man"> <a class="megamenu-item" href="#">man</a> </div> </li> <li id="woman"> <a class="megamenu-item" href="#">woman</a> </li> <li id="kid"> <a class="megamenu-item" href="#">kid</a> </li> </ul> </div> <div class="megamenu-subitems-default"> <p>hello-default</p> </div> <div class="megamenu-subitems-test" id="subitems"> <p>hello-1</p> </div> <div class="megamenu-subitems"> <p>hello-2</p> </div> <div class="megamenu-subitems"> <p>hello-3</p> </div> <div class="megamenu-subitems"> <p>hello-4</p> </div> </div> </div> <p class="test">test</p> </div> </div> </div> </div> </body> </html></pre> <p><br /></p> <p>gt;
P粉842215006
P粉842215006

Antworte allen(1)
P粉226413256

在您的CSS文件中,您有这个规则:

.man:hover #subitems {
 visibility: visible;    
}

然而,#subitems不是.man的后代。您需要将#subitems放置在与.man相同的层级上,或者作为它的后代。

这个CSS规则指定了当.hover在具有类.man的祖先之一上悬停时,具有id为#subitems的元素将变为可见;但是,在您的HTML中,.man是一个只有一个子元素.megamenu-item的div。

为了隐藏默认的子项div,请尝试替换这个选择器:

.man:hover .megamenu-subitems-default{
    visibility: hidden;
}

with:

.megamenu-title:hover ~ .megamenu-subitems-default{
    visibility: hidden;
}

对于每个菜单项的子项,我建议您要么为每个子项div提供一个唯一的ID并使用JavaScript控制它们的可见性,要么更改您的布局,使.megamenu-subitems div与li元素处于同一级别,并使用兄弟选择器,或者将它们作为li元素的后代。


Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage