级联下拉菜单

时间:2016-03-27 17:35:50

标签: html css

*

我不知道我在这里做错了什么你能帮助我吗?我想创建一个级联下拉菜单,我无法看到我做错了什么。我尝试了一切。我只是出于想法

*

这是我的代码



<style type="text/css">
body {
    background:#bf5c71 url('australia1.jpg');
}
 
.clearfix:after {
    display:block;
    clear:both;
}
 
/*----- Menu Outline -----*/
.menu-wrap {
    width:100%;
    box-shadow:0px 1px 3px rgba(0,0,0,0.2);
    background:#3e3436;
}
 
.menu {
    width:1000px;
    margin:0px auto;
}
 
.menu li {
    margin:0px;
    list-style:none;
    font-family:'Ek Mukta';
}
 
.menu a {
    transition:all linear 0.15s;
    color:#919191;
}
 
.menu li:hover > a, .menu .current-item > a {
    text-decoration:none;
    color:#be5b70;
}
 
.menu .arrow {
    font-size:11px;
    line-height:0%;
}
 
/*----- Top Level -----*/
.menu > ul > li {
    float:left;
    display:inline-block;
    position:relative;
    font-size:19px;
}
 
.menu > ul > li > a {
    padding:10px 40px;
    display:inline-block;
    text-shadow:0px 1px 0px rgba(0,0,0,0.4);
}
 
.menu > ul > li:hover > a, .menu > ul > .current-item > a {
    background:#2e2728;
}

 
/*----- Bottom Level -----*/
.menu li:hover .sub-menu,
.menu li:hover .sub-menu1{
    z-index:1;
    opacity:1;
}
 
.sub-menu {
    width:160%;
    padding:5px 0px;
    position:absolute;
    top:100%;
    left:0px;
    z-index:-1;
    opacity:0;
    transition:opacity linear 0.15s;
    box-shadow:0px 2px 3px rgba(0,0,0,0.2);
    background:#2e2728;
}

.sub-menu1 {
    width:100%;
    padding:0px 0px;
    position:relative;
	top:100%;
    left:370px;
    z-index:100;
    opacity:50;
    transition:opacity linear 0.15s;
    box-shadow:0px 2px 3px rgba(0,0,0,0.2);
    background:#2e2758;
	
}

.sub-menu li,
.sub-menu1 li
{
    display:block;
    font-size:16px;
}

.sub-menu li a{
    padding:10px 30px;
    display:block;
}

.sub-menu1 li a{
	padding:10px 10px;
    display:block;
}
 
.sub-menu li a:hover, .sub-menu .current-item a,
.sub-menu1 li a:hover, .sub-menu1 .current-item a
{
    background:#3e3436;
}

</style>
 </body>
	  </html>
&#13;
<html>

<head>
        
<title> Australia </title>
</head>
<body>
<div class="menu-wrap">
    <nav class="menu">
        <ul class="clearfix">
            <li><a href="#">Acasa</a></li>
            <li><a href="#">Obiective turistice<span class="arrow">&#9660;</span></a>
                <ul class="sub-menu">
                    <li><a href="#">Sydney</a>
						<ul class="sub-menu1">
							 <li><a href="#">Test</a>
						</ul>	
					</li>
                    <li><a href="#">Melbourne</a></li>
                    <li><a href="#">Brisbane</a></li>
                    <li><a href="#">Perth</a></li>
                </ul>
            </li>
			<li class="current-item"><a href="#">Galerie Foto</a></li>
            <li><a href="#">Video</a></li>
        </ul>
    </nav>
</div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

您可以使用相邻的兄弟选择器获取更多信息,请访问此链接On a CSS hover event, can I change another div's styling?

最初将display:none设置为sub-menu1课程,并将sub-menu li a设置display sub-menu1 block的鼠标悬停至body { background:#bf5c71 url('australia1.jpg'); } .clearfix:after { display:block; clear:both; } /*----- Menu Outline -----*/ .menu-wrap { width:100%; box-shadow:0px 1px 3px rgba(0,0,0,0.2); background:#3e3436; } .menu { width:1000px; margin:0px auto; } .menu li { margin:0px; list-style:none; font-family:'Ek Mukta'; } .menu a { transition:all linear 0.15s; color:#919191; } .menu li:hover > a, .menu .current-item > a { text-decoration:none; color:#be5b70; } .menu .arrow { font-size:11px; line-height:0%; } /*----- Top Level -----*/ .menu > ul > li { float:left; display:inline-block; position:relative; font-size:19px; } .menu > ul > li > a { padding:10px 40px; display:inline-block; text-shadow:0px 1px 0px rgba(0,0,0,0.4); } .menu > ul > li:hover > a, .menu > ul > .current-item > a { background:#2e2728; } /*----- Bottom Level -----*/ .menu li:hover .sub-menu, .menu li:hover .sub-menu1{ z-index:1; opacity:1; } .sub-menu { width:160%; padding:5px 0px; position:absolute; top:100%; left:0px; z-index:-1; opacity:0; transition:opacity linear 0.15s; box-shadow:0px 2px 3px rgba(0,0,0,0.2); background:#2e2728; } .sub-menu1 { width:100%; padding:0px 0px; position:relative; top:100%; left:370px; z-index:100; opacity:50; transition:opacity linear 0.15s; box-shadow:0px 2px 3px rgba(0,0,0,0.2); background:#2e2758; display: none; } .sub-menu li, .sub-menu1 li { display:block; font-size:16px; } .sub-menu li a:hover, .sub-menu .current-item a, .sub-menu1 li a:hover, .sub-menu1 .current-item a { background:#3e3436; display: block; } .sub-menu li a:hover + .sub-menu1{ display:block; padding:10px 10px; }

以下是代码:

<div class="menu-wrap">
    <nav class="menu">
        <ul class="clearfix">
            <li><a href="#">Acasa</a></li>
            <li><a href="#">Obiective turistice<span class="arrow">&#9660;</span></a>
                <ul class="sub-menu">
                    <li><a href="#">Sydney</a>
                        <ul class="sub-menu1">
                             <li><a href="#">Test</a>
                        </ul>   
                    </li>
                    <li><a href="#">Melbourne</a></li>
                    <li><a href="#">Brisbane</a></li>
                    <li><a href="#">Perth</a></li>
                </ul>
            </li>
            <li class="current-item"><a href="#">Galerie Foto</a></li>
            <li><a href="#">Video</a></li>
        </ul>
    </nav>
</div>
int n;
char rest1[DIM], rest2[DIM];

scanf("%d %s %s", &n, rest1, rest2);

答案 1 :(得分:0)

或者您可以在子菜单上缩进?这真的取决于你想要什么。你能举个例子吗?这就是我在谈论缩进时的意思:

body {
    background:#bf5c71 url('australia1.jpg');
}
 
.clearfix:after {
    display:block;
    clear:both;
}
 
/*----- Menu Outline -----*/
.menu-wrap {
    width:100%;
    box-shadow:0px 1px 3px rgba(0,0,0,0.2);
    background:#3e3436;
}
 
.menu {
    width:1000px;
    margin:0px auto;
}
 
.menu li {
    margin:0px;
    list-style:none;
    font-family:'Ek Mukta';
}
 
.menu a {
    transition:all linear 0.15s;
    color:#919191;
}
 
.menu li:hover > a, .menu .current-item > a {
    text-decoration:none;
    color:#be5b70;
}
 
.menu .arrow {
    font-size:11px;
    line-height:0%;
}
 
/*----- Top Level -----*/
.menu > ul > li {
    float:left;
    display:inline-block;
    position:relative;
    font-size:19px;
}
 
.menu > ul > li > a {
    padding:10px 40px;
    display:inline-block;
    text-shadow:0px 1px 0px rgba(0,0,0,0.4);
}
 
.menu > ul > li:hover > a, .menu > ul > .current-item > a {
    background:#2e2728;
}

 
/*----- Bottom Level -----*/
.menu li:hover .sub-menu,
.menu li:hover .sub-menu1{
    z-index:1;
    opacity:1;
}
 
.sub-menu {
    width:160%;
    padding:5px 0px;
    position:absolute;
    top:100%;
    left:0px;
    z-index:-1;
    opacity:0;
    transition:opacity linear 0.15s;
    box-shadow:0px 2px 3px rgba(0,0,0,0.2);
    background:#2e2728;
}

.sub-menu1 {
    width:100%;
    padding:0px 0px;
    position:relative;
	top:100%;
    left:370px;
    z-index:100;
    opacity:50;
    transition:opacity linear 0.15s;
    box-shadow:0px 2px 3px rgba(0,0,0,0.2);
    background:#2e2758;
	
}

.sub-menu li,
.sub-menu1 li
{
    display:block;
    font-size:16px;
}

.sub-menu li a{
    padding:10px 30px;
    display:block;
}

.sub-menu1 li a{
	padding:10px 10px;
    display:block;
}
 
.sub-menu li a:hover, .sub-menu .current-item a,
.sub-menu1 li a:hover, .sub-menu1 .current-item a
{
    background:#3e3436;
}
<div class="menu-wrap">
    <nav class="menu">
        <ul class="clearfix">
            <li><a href="#">Acasa</a></li>
            <li><a href="#">Obiective turistice<span class="arrow">&#9660;</span></a>
                <ul class="sub-menu">
                    <li>
                       <a href="#">Sydney</a>
		               <ul>
                         <li><a href="#">Test</a>
                       </ul>
				    </li>
                    <li><a href="#">Melbourne</a></li>
                    <li><a href="#">Brisbane</a></li>
                    <li><a href="#">Perth</a></li>
                </ul>
            </li>
			<li class="current-item"><a href="#">Galerie Foto</a></li>
            <li><a href="#">Video</a></li>
        </ul>
    </nav>
</div>

答案 2 :(得分:0)

首先,你必须写0而不是0px。 你必须使子菜单1显示:无;然后当鼠标在悉尼时,必须显示子菜单:block; 我修好了一些事情,这将是你的代码:

body {
    background: #bf5c71;
}

.clearfix:after {
    display: block;
    clear: both;
}

/*----- Menu Outline -----*/
.menu-wrap {
    width: 100%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    background: #3e3436;
}

.menu {
    width: 1000px;
    margin: 0 auto;
}

.menu li {
    margin: 0;
    list-style: none;
    font-family: 'Ek Mukta';
}

.menu a {
    transition: all linear 0.15s;
    color: #919191;
}

.menu li:hover > a, .menu .current-item > a {
    text-decoration: none;
    color: #be5b70;
}

.menu .arrow {
    font-size: 11px;
    line-height: 0;
}

/*----- Top Level -----*/
.menu > ul > li {
    float: left;
    display: inline-block;
    position: relative;
    font-size: 19px;
}

.menu > ul > li > a {
    padding: 10px 40px;
    display: inline-block;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}

.menu > ul > li:hover > a, .menu > ul > .current-item > a {
    background: #2e2728;
}

/*----- Bottom Level -----*/
.menu li:hover .sub-menu,
.menu li:hover .sub-menu1 {
    z-index: 1;
    opacity: 1;
}

.sub-menu {
    width: 160%;
    padding: 5px 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    transition: opacity linear 0.15s;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
    background: #2e2728;
}

#sydney:hover .sub-menu1 {

    display: block;

}

.sub-menu1 {
    width: 100%;
    padding: 0;
    position: relative;
    top: 0;
    left: 370px;
    z-index: 100;
    opacity: 50;
    transition: opacity linear .15s;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
    background: #2e2758;
    display: none;

}

.sub-menu li,
.sub-menu1 li {
    font-size: 16px;
}

.sub-menu li a {
    padding: 10px 30px;
    display: block;
}

.sub-menu li a:hover, .sub-menu .current-item a,
.sub-menu1 li a:hover, .sub-menu1 .current-item a {
    background: #3e3436;
}
<div class="menu-wrap">
    <nav class="menu">
        <ul class="clearfix">
            <li><a href="#">Acasa</a></li>
            <li><a href="#">Obiective turistice<span class="arrow">&#9660;</span></a>
                <ul class="sub-menu">
                    <li id="sydney"><a href="#">Sydney</a>
                        <ul class="sub-menu1">
                            <li><a href="#">Test</a></li>
                        </ul>
                    </li>
                    <li><a href="#">Melbourne</a></li>
                    <li><a href="#">Brisbane</a></li>
                    <li><a href="#">Perth</a></li>
                </ul>
            </li>
            <li class="current-item"><a href="#">Galerie Foto</a></li>
            <li><a href="#">Video</a></li>
        </ul>
    </nav>
</div>