【发布时间】:2023-04-10 11:26:01
【问题描述】:
我使用 CSS 创建了以下菜单,在进入下拉菜单之前一切正常。
当我将鼠标悬停在投资组合链接上时,悬停状态有效,但当您进入子菜单时,主链接上的悬停状态消失。
我需要做什么才能在子菜单中保持主链接上的悬停状态?
试图弄清楚这让我发疯,但这可能是我忽略的非常简单的事情。提前致谢。我添加了一个指向我当前使用的 HTML 和 CSS 代码的链接。
http://jsfiddle.net/outlaw5582/PtCtL/1/
HTML:
<div id="navcontainer">
<ul id="navlist">
<li id="active"><a href="index.html" class="current">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="">Portfolio</a>
<ul id="subnavlist">
<li id="subactive"><a href="cdcovers.html" id="subcurrent" name="subcurrent">CD Covers</a></li>
<li><a href="logos.html">Logos</a></li>
<li><a href="flyers.html">Flyers</a></li>
<li><a href="businesscards.html">Business Cards</a></li>
<li><a href="photos.html">Photo Enhancements</a></li>
</ul>
</li>
<li><a href="services.html">Services</a></li>
<li><a href="contact.html">Contact Us</a></li>
</ul>
</div>
CSS:
#navcontainer {
font-family:Arial, Helvetica, sans-serif;
font-size:16px;
font-weight: bold;
text-decoration: none;
height:37px;}
ul#navlist, ul#navlist ul, ul#navlist li {
list-style-type: none;}
ul#navlist {margin:0 0 30px 0;}
ul#navlist li {display:inline;}
ul#navlist li a {padding: 8px 10px 7px 10px;
background:#000000;
border-bottom:3px #00aeef solid;
text-decoration:none;
color:#FFF;
margin:0 -3px 0 -2px;}
ul#navlist li a:hover {color:#000;
background:#00aeef;}
ul#navlist li a:active {color: #000;
background: #00aeef;}
ul#navlist li a.current {color:#000;
background:#00aeef;}
ul#subnavlist {display:none;
text-align:left;
padding: 5px 9px 0 9px;
font-weight: bold;
text-decoration:none;
clear:both;
margin:0 0 0 128px;
box-shadow:2px 2px 4px #000;
position:relative;
top:29px;}
ul#subnavlist li {float:none;}
ul#subnavlist li a {background:#A1BF73;
font-size:12px;
margin-top: 0px;
color:#000;
height:21px;}
ul#navlist li:hover ul#subnavlist {display: block;
position: absolute;
margin-top:7px;
padding-right:0;}
ul#navlist li:hover ul#subnavlist li a {display: block;
border: none;
padding: 5px 10px 9px 10px;
margin-left:-9px;
margin-top:-7px;
margin-bottom:-5px;
font-family:Arial, Helvetica, sans-serif;
font-size:14px;
background:#00aeef;}
ul#navlist li:hover ul#subnavlist li a:hover {
background:#000000;
color:#FFFFFF;
padding: 5px 10px 9px 10px;}
ul#navlist li:hover {background:#00aeef;}
【问题讨论】:
-
你必须包含你的css。你也可以使用jsfiddle.net
-
你能编辑你的问题并将css贴在那里吗?
-
我尝试添加完整的 CSS 代码,但它说太长,无法发布。如果有帮助的话,这是我正在使用的基本 CSS 部分。
#navcontainer {} ul#navlist, ul#navlist ul, ul#navlist li {} ul#navlist {} ul#navlist li {} ul#navlist li a {} ul#navlist li a:hover {} ul#navlist li a:active {} ul#navlist li a.current {} ul#subnavlist {} ul#subnavlist li {float:none;} ul#subnavlist li a {} ul#navlist li:hover ul#subnavlist {} ul#navlist li:hover ul#subnavlist li a {} ul#navlist li:hover ul#subnavlist li a:hover {} ul#navlist li:hover {} -
另外,乍一看,您的 html 不正确。你应该像这样在你的 li 之前关闭你的 ul:
<li><a href="">Portfolio</a> <ul id="subnavlist"> ..... </ul> </li>。你在</ul>之前有</li> -
谢谢你。我希望我可以添加我正在使用的整个 CSS,但我不能在这里。有什么想法吗?
标签: css