【发布时间】:2014-01-22 16:02:45
【问题描述】:
这是我的菜单 HTML 代码
<div style="visibility:visible; color: #FFF; top:125px; width:100%; height:40px; position:absolute; display:block;background:#2B63B3;">
<ul id="trans-nav">
<li><a href="#">Home</a></li>
<li><a href="#">About us</a></li>
<li><a href="#">Academic</a>
<ul>
<li> <a href="#">Sub Menu 1</a> </li>
<li> <a href="#">Sub Menu 2</a> </li>
<li> <a href="#">Sub Menu 3</a> </li>
</ul>
</li>
<li><a href="#">Administration</a></li>
<li><a href="#">Miscellanous</a>
<ul>
<li> <a href="#">Sub Menu 1</a> </li>
<li> <a href="#">Sub Menu 2</a> </li>
</ul>
</li>
</ul>
</div>
这是菜单的 CSS 代码
#trans-nav { list-style-type: none; height: 40px; padding: 0px 15px; margin: 0px; }
#trans-nav li { float: left; width:110px; position: relative; padding: 0px; line-height: 40px; background: #2B63B3; text-align:center; }
#trans-nav li a { display: block; padding: 0 15px; color: #fff; text-decoration: none; }
#trans-nav li a:hover { color: #97B7E6; }
#trans-nav li ul { opacity: 0; position: absolute; left: 0; width: 8em; background: #2B63B3; list-style-type: none; padding: 0; margin: 0; z-index:1;}
#trans-nav li:hover ul { opacity: 1; }
#trans-nav li ul li { float: none; position: static; height: 0; line-height: 0; background: none; }
#trans-nav li:hover ul li { height: 30px; line-height: 30px; }
#trans-nav li ul li a { background: #2B63B3; }
#trans-nav li ul li a:hover { background: #2B63B3; }
当我将鼠标悬停在任何菜单项上时,颜色会发生变化,当我单击项时,它会导航到页面,但文本的颜色会恢复为白色。我想保持更改后的颜色,直到没有点击任何其他菜单项。
任何意见、建议或指导都是值得赞赏的。
提前谢谢大家
【问题讨论】:
-
你是说你想让代表当前页面的菜单项保持白色吗?所以如果你点击子菜单1,当你再次悬停时,子菜单1项是白色的?
-
@ElendilTheTall NO 我想说,当我将链接悬停时,它的颜色会从白色变为浅蓝色。现在假设我点击杂项主菜单的子菜单 1,然后杂项颜色应该是浅蓝色,它不应该变回原来的白色。
-
@Paulie_D 你提到的链接不是我要问的,我的问题完全不同。请再检查一遍
标签: css drop-down-menu