活动或当前时突出显示父和子导航菜单

时间:2012-10-28 00:37:54

标签: html css highlight

当有人或当前时,有人会告诉我如何高亮显示父母和子女导航菜单。选择子页面时是否可以突出显示父菜单项。当我将鼠标悬停在子页面上时,我想要实现的是http://www.brotfabrik-berlin.de/类似的内容。谢谢。

#menu {
font-weight:700;
list-style:none;
width:990px;
margin:0px auto 0px auto;
height:29px;
padding:0px 0px 0px 0px;

/* Rounded Corners */

-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;

/* Background color and gradients */

background: #014464;
background: -moz-linear-gradient(top, #, #);
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#), to(#));

/* Borders */

border: 1px solid #002232;

-moz-box-shadow:inset 0px 0px 1px #edf9ff;
-webkit-box-shadow:inset 0px 0px 1px #edf9ff;
box-shadow:inset 0px 0px 1px #edf9ff;

#menu li {
float:left;
display:block;
text-align:center;
position:relative;
padding: 4px 5px 4px 5px;
margin-right:0px;
margin-top:0px;
border:none;
z-index: 1;

#menu li:hover {
border: 1px solid #777777;
padding: 2px 4px 4px 4px;

/* Background color and gradients */

background: #F4F4F4;
background: -moz-linear-gradient(top, #F4F4F4, #EEEEEE);
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#F4F4F4), to(#EEEEEE));

/* Rounded corners */

-moz-border-radius: 0px 0px 0px 0px;
-webkit-border-radius: 0px 0px 0px 0px;
border-radius: 0px 0px 0px 0px;

#menu li a {
font-family:Arial Narrow;
font-size:15px; 
color: #EEEEEE;
display:block;
outline:0;
text-decoration:none;
text-shadow: 0px 0px 0px #000;

#menu li:hover a {
color:#161616;
text-shadow: 0px 0px 0px #ffffff;

1 个答案:

答案 0 :(得分:0)

我通常会通过向导航链接的current添加<li>类来实现此目的。因此,如果您正在查看home.html,导航代码就是这样:

<ul id="menu">
    <li class="current"><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Another page</a></li>
</ul>

然后我会使用链接的悬停样式设置当前类的样式,或者您可以定义不同的样式,例如:

#menu li.current a {
    font-weight: bold;
}

如果<li>包含子菜单(另一个<ul>),我会像这样定位CSS:

#menu > li > a {
    /* this would target the parent link */
}

要定位子菜单链接,我会这样做:

#menu ul ul a {
    /* this would target submenu links */
}