Ich habe ein ungeordnetes Listenmenü in meiner Kopfzeile, das Untermenüs für die übergeordneten Listenelemente enthält. Ich habe versucht, die Pseudo-Klasse: Hover zu setzen, damit die Untermenüs ein- und ausgeblendet werden, wenn der Mauszeiger über die Links bewegt wird.Wie man Hover CSS-Menü ein- und ausblenden?
Das Problem ist, dass ich sie nur einblenden lassen kann, also wenn ich den Cursor weg bewege, verschwinden sie nicht, sie verschwinden einfach sofort. Ich bin mir nicht sicher, was ich falsch mache, aber ich habe eine zweite jsfiddle unten eingeschlossen, in der ich geschafft habe, den Effekt zu erzielen, den ich mit etwas einfacherem HTML will.
Beispiel 1: https://jsfiddle.net/ornbovv7/2/
Beispiel 2: https://jsfiddle.net/aou6j8gz/1/
Mein Code:
.header {
width:100%;
height:100px;
background-color:#fff;
}
.content {
width:100%;
height:500px;
background-color:pink;
}
nav.main-menu ul {
position:relative;
top:30px;
list-style:none;
}
nav.main-menu ul li {
cursor:pointer;
display:inline-block;
margin:10px 30px 10px 30px;
padding:0px 20px 45px 20px;
}
nav.main-menu ul ul {
position:absolute;
left:-999em;
width:175px;
display:block;
height:auto;
margin:40px 0px 0px 0px;
padding:0;
box-shadow: 0 10px 20px rgba(0,0,0,0.05), 0 4px 6px rgba(0,0,0,0.1);
background-color:#ffffff;
opacity:0;
transition: left 0s ease 0.6s, opacity 0.6s ease 0s;
}
nav.main-menu ul li:hover ul {
left:auto;
opacity:0.9;
transition: left 0s ease 0s, opacity 0.6s ease 0s;
}
nav.main-menu ul ul li {
position:relative;
float: none;
padding: 7px 10px 7px 10px;
}
nav.main-menu ul ul li a {
display:inline-block;
}
<header class="header">
<nav class="main-menu">
<div>
<ul id="menu-header-menu-1" class="menu">
<li>link 1</li>
<li>link 2
<ul class="sub-menu">
<li>sublink 1</li>
<li>sublink 2</li>
<li>sublink 3</li>
<li>sublink 4</li>
<li>sublink 5</li>
</ul>
</li>
<li>link 3
</li>
</ul>
</div>
</nav>
</header>
Nicht ganz sicher, wie zu beheben, aber das Problem ist, mit der Positionierung. Die linke Seite kehrt sofort zu -999em zurück, was es so aussehen lässt, als würde der Übergang nicht funktionieren. Es funktioniert, direkt neben dem Bildschirm ... Hmmm. Hoffe, dass zumindest hilft, das Problem zu identifizieren. –