gpt4 book ai didi

html - 为什么我的菜单悬停效果在悬停第二步菜单时消失了?

转载 作者:太空宇宙 更新时间:2023-11-04 07:53:32 24 4
gpt4 key购买 nike

所以我什至现在都不知道如何简单地解释我的问题。我有简单的两步菜单。当您将鼠标悬停在菜单的第一步时,鼠标悬停的元素会更改颜色并出现菜单的第二步。还有我的问题:当我将鼠标悬停在第一步菜单元素的第二步(您悬停以显示第二步的菜单元素)时,将颜色更改为默认值,就像悬停在第一步上从未发生过一样。例如:第一步的一个元素称为ipsum。当我将鼠标悬停在“ipsum”上时,会出现第二步菜单并且“ipsum”会更改其颜色。当我将鼠标悬停在刚刚出现的第二步菜单上时,“ipsum”将颜色更改为菜单的默认颜色。我试图找出它发生的原因,但我不知道。

*{
padding: 0;
margin: 0;
}
/*main menu*/
.menu {
list-style-type: none;
text-align: center;
text-transform: uppercase;
font-family: "Courier New", Courier, monospace;
background-color: lightgrey;
}
/*all links in menu*/
.menu a {
text-decoration: none;
color: #404040;
font-weight: 700;
transition: background-color 0.8s;
}
.menu > li {
display: inline-block;
font-size: 1.5em;
}
.menu > li > a {
display: block;
padding: 10px 12px;
}
.menu > li > a:hover {
background-color: #ababab;
}


/*second step menus*/
.sStep {
position: absolute;

/*to nice 'fade in'*/
visibility: hidden;
opacity: 0;
transition: visibility 0.5s, opacity 0.5s linear;

list-style-type: none;
background-color: #ababab;
}
.sStep > li {
font-size: 0.75em;
border-bottom: 1px solid #444;
}
.sStep > li:last-child {
border: none;
}
.sStep > li > a {
display: block;
padding: 10px;
}
.sStep > li > a:hover {
background-color: #909090;
}

/*'fade in hover' */
.menu > li:hover > .sStep {
visibility: visible;
opacity: 1;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>menu2</title>

<link rel="stylesheet" type="text/css" href="style2.css" />
</head>
<body>
<nav>
<ul class="menu">
<li><a href="#">Lorem</a></li>
<li><a href="#">ipsum</a>
<ul class="sStep">
<li><a href="#">Suspendisse</a></li>
<li><a href="#">Donec commodo</a></li>
<li><a href="#">sodales consectetur</a></li>
<li><a href="#">Maecenas sit amet</a></li>
<li><a href="#">Mauris tempor vitae sem</a></li>
<li><a href="#">Curabitur</a></li>
</ul>
</li>
<li><a href="#">dolor</a></li>
<li><a href="#">sit</a></li>
<li><a href="#">amet</a>
<ul class="sStep">
<li><a href="#">ullamcorper cursus</a></li>
<li><a href="#">Cras blandit nunc</a></li>
<li><a href="#">fermentum</a></li>
<li><a href="#">Neque porro quisquam</a></li>
</ul>
</li>
</ul>
</nav>
</body>
</html>

最佳答案

改变这个位:

.menu > li > a:hover {
background-color: #ababab;
}

对此:

.menu > li:hover > a {
background-color: #ababab;
}

他们的关键是你想要 hover悬停在 <li> 上的任何位置时受到影响的状态包括子菜单。

下面的演示:

* {
padding: 0;
margin: 0;
}


/*main menu*/

.menu {
list-style-type: none;
text-align: center;
text-transform: uppercase;
font-family: "Courier New", Courier, monospace;
background-color: lightgrey;
font-size: 0; /* remove gaps between inline-blocks */
}


/*all links in menu*/

.menu a {
text-decoration: none;
color: #404040;
font-weight: 700;
transition: background-color 0.8s;
}

.menu>li {
display: inline-block;
font-size: 1.5rem; /* change from em to rem */
}

.menu>li>a {
display: block;
padding: 10px 12px;
}

.menu>li:hover>a {
background-color: #ababab;
}


/*second step menus*/

.sStep {
position: absolute;
/*to nice 'fade in'*/
visibility: hidden;
opacity: 0;
transition: visibility 0.5s, opacity 0.5s linear;
list-style-type: none;
background-color: #ababab;
}

.sStep>li {
font-size: 0.75em;
border-bottom: 1px solid #444;
}

.sStep>li:last-child {
border: none;
}

.sStep>li>a {
display: block;
padding: 10px;
}

.sStep>li>a:hover {
background-color: #909090;
}


/*'fade in hover' */

.menu>li:hover>.sStep {
visibility: visible;
opacity: 1;
}
<nav>
<ul class="menu">
<li><a href="#">Lorem</a></li>
<li><a href="#">ipsum</a>
<ul class="sStep">
<li><a href="#">Suspendisse</a></li>
<li><a href="#">Donec commodo</a></li>
<li><a href="#">sodales consectetur</a></li>
<li><a href="#">Maecenas sit amet</a></li>
<li><a href="#">Mauris tempor vitae sem</a></li>
<li><a href="#">Curabitur</a></li>
</ul>
</li>
<li><a href="#">dolor</a></li>
<li><a href="#">sit</a></li>
<li><a href="#">amet</a>
<ul class="sStep">
<li><a href="#">ullamcorper cursus</a></li>
<li><a href="#">Cras blandit nunc</a></li>
<li><a href="#">fermentum</a></li>
<li><a href="#">Neque porro quisquam</a></li>
</ul>
</li>
</ul>
</nav>

关于html - 为什么我的菜单悬停效果在悬停第二步菜单时消失了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47536841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com