0

我正在尝试做一个我用 Photoshop 设计的下拉菜单。但是,此菜单顶部有一个边框。图像,可以更好地解释它:

我需要做的菜单

使用 CSS,我得到的只是一条涵盖更多设计目标的行。我尝试使用 z-index 位置进行制作,但没有成功。看看我的代码:

nav{

    display: inline;
    font-weight:900;
    text-transform:uppercase;
    font-size:13px;
    margin-left:95px;
}
.menu > li > a {

    width:auto;
    padding:10px 20px 10px 10px;
    background-image:url('img/seta_menu.png');
    background-repeat:no-repeat;
    background-position:right 50%;
}

.menu>li{   

    width:auto;
    margin-right:45px;
    padding:10px;
    border-left: solid 1px #F8FAFA;
    border-right: solid 1px #F8FAFA;
    border-top:solid 1px #F8FAFA;
    border-bottom:solid 1px #F8FAFA;
}

.menu>li:hover{

    border-left: solid 1px #bdc9c5;
    border-right: solid 1px #bdc9c5;
    border-top:solid 1px #bdc9c5;
    border-bottom:solid 1px #bdc9c5;
    background-color:white;

}

nav>div{

    display:inline; 

}
nav>div>ul{

    display: inline;

}
.menu li{
    display: inline-table;
}
.menu>li:hover >ul{

    display:block;

}
.sub-menu{

    position:absolute;  
    display:none;
    padding:10px;
    margin-left:-11px;
    margin-top:10px;
    border-left: solid 1px #bdc9c5;
    border-right: solid 1px #bdc9c5;
    border-bottom:solid 1px #bdc9c5;
    /*border-top:solid 1px #bdc9c5;*/
    background-color:white; 

}

.sub-menu ol, ul {

    padding:0px;
    margin:0px;

}
.sub-menu > li{

    display:block;

}

http://jsfiddle.net/btgfE/

4

2 回答 2

1

Problem solved...

jsfiddle: http://jsfiddle.net/btgfE/2/

1) uncomment the top border of the .sub-menu

2) comment out the bottom border of the .menu>li:hover

3) give .sub-menu the css rule z-index:-1;

4) decrease the margin-top of .sub-menu to 9px

Really what this is doing is letting the top level menu item slightly overlap ontop of the sub-menu item's top border, giving the appearance you are looking for

于 2013-03-19T13:58:32.813 回答
0

我在这里编辑了你的小提琴:

http://jsfiddle.net/btgfE/4/

我给了.submenu-1的a z-index,这修复了它。

我还更改了颜色,使它们更容易看到。您需要将绿色设置为白色,我这样做是为了让您可以看到边框位于子菜单边框的顶部

于 2013-03-19T13:39:17.670 回答