我已经在css中创建了第一级和第二级的下拉菜单。
#horizzontalMenu {
width: 770px;
height: 570px;
border: 1px #000 solid;
margin: 20px auto;
padding: 15px;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}
#horizzontalMenu,
#horizzontalMenu ul {
list-style: none;
margin: 0;
padding: 0;
}
#horizzontalMenu {
height: 41px;
padding-left: 5px;
padding-top: 5px;
position: relative;
z-index: 2;
}
#horizzontalMenu ul {
left: -9999px;
position: absolute;
top: 37px;
width: auto;
}
#horizzontalMenu ul ul {
left: -9999px;
position: absolute;
top: 0;
width: auto;
}
#horizzontalMenu li {
float: left;
margin-right: 5px;
position: relative;
}
#horizzontalMenu li a {
background: #c1c1bf;
color: #000;
display: block;
float: left;
font-size: 16px;
padding: 8px 10px;
text-decoration: none;
}
#horizzontalMenu > li > a {
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
-o-border-radius: 6px;
border-radius: 6px;
overflow: hidden;
}
#horizzontalMenu li a.fly {
background: #c1c1bf url(../images/arrow.gif) no-repeat right center;
padding-right: 15px;
}
#horizzontalMenu ul li {
margin: 0;
}
#horizzontalMenu ul li a {
width: 120px;
}
#horizzontalMenu ul li a.fly {
padding-right: 10px;
}
#horizzontalMenu li:hover > a {
background-color: #858180;
color: #fff;
}
#horizzontalMenu li a:focus {
outline-width: 0;
}
#horizzontalMenu li a:active + ul.dd,
#horizzontalMenu li a:focus + ul.dd,
#horizzontalMenu li ul.dd:hover {
left: 0;
}
#horizzontalMenu ul.dd li a:active + ul,
#horizzontalMenu ul.dd li a:focus + ul,
#horizzontalMenu ul.dd li ul:hover {
left: 140px;
}

<div>
<ul id="horizzontalMenu" />
<li class='Documenti'>
<a class="fly" href="#">Document</a>
<ul class="dd">
<li id="menu_documentiEmessi">
<a class="fly" href="#">Documenti emessi</a>
<ul>
<li id="menu_docFattOut"><a>Fatture</a>
</li>
<li id="menu_fatturaPA"><a>Fatture PA (beta)</a>
</li>
<li id="menu_preventivi"><a>Preventivi</a>
</li>
<li id="menu_ddt"><a>DDT</a>
</li>
<li id="menu_docProfOut" class='last-child'><a>Proforma</a>
</li>
</ul>
</li>
<li id="menu_documentiRicevuti">
<a class="fly" href="#">Documenti ricevuti</a>
<ul>
<li id="menu_docFattIn"><a>Fatture</a>
</li>
<li id="menu_docProfIn"><a>Proforma</a>
</li>
</ul>
</li>
<li id="menu_docGenerici"><a>Documenti generici</a>
</li>
<li id="menu_docTributi"><a>Tributi</a>
</li>
<li id="menu_primanota"><a>Prima nota</a>
</li>
<li class='separator'></li>
<li id="menu_crediti"><a>Crediti</a>
</li>
<li id="menu_debiti" class='last-child'><a>Debiti</a>
</li>
</ul>
</li>
</ul>
</div>
&#13;
我想在鼠标点击后关闭第一级或第二级。可能吗?
我只想在鼠标点击li
元素而不打开第二级时关闭菜单。
你能帮助我吗?
卡罗
答案 0 :(得分:0)
您只能使用CSS,但您必须将按钮更改为复选框并打开菜单,如下所示:checked + ul
<ul id="horizzontalMenu"/>
<li class='Documenti' >
<label class="fly" for="fly-checkbox">Document</label><input type="checkbox" id="fly-checkbox" />
<ul class="dd">
<li id="menu_documentiEmessi">
...
#horizzontalMenu li label.fly {
background:#c1c1bf url(../images/arrow.gif) no-repeat right center;
padding:8px 10px;
display:inline-block;
padding-right:15px;
-moz-border-radius:6px;
-webkit-border-radius:6px;
-o-border-radius:6px;
border-radius:6px;
}
#fly-checkbox {
display:none;
}
#fly-checkbox:checked+ul.dd,
#fly-checkbox:checked+ul.dd:hover {
left:0;
}
#fly-checkbox:checked+ul,
#fly-checkbox:checked+ul:hover {
left:140px;
}