我想爲網站創建垂直菜單。它的工作原理相當不錯,但我仍然有下面的代碼有問題:CSS JSP - 下拉菜單在子菜單焦點上始終打開
JSP:
<nav>
<ul>
<li><a href="#"> Saisie assistée (schémas prédéfinis) </a></li>
<li> <a href="#">Saisie libre </a></li>
<li> <a href="#">Extourne ou annulation écriture </a>
<ul ">
<li> <a href="#">Annulation écriture jour validé</a></li>
<li> <a href="#">Extourne écriture antérieure </a></li>
</ul>
</li>
<li> <a href="#">Consultations/Editions </a>
<ul >
<li> <a href="#">Lots à valider</a></li>
<li> <a href="#">Lots antérieurs comptabilisés </a></li>
<li> <a href="#">Listes des schémas habilités </a></li>
<li> <a href="#">Listes des comptes habilités </a></li>
</ul>
</li>
<li> <a href="#">Paramètrage/Administration </a>
<ul >
<li> <a href="#">Entités habilitées</a></li>
<li> <a href="#">Collaborateurs habilités </a></li>
<li> <a href="#">Habilitations Entité/Comptes </a></li>
<li> <a href="#">Habilitations Entité/Schémas </a></li>
<li> <a href="#">Paramétrages Schémas </a></li>
<li> <a href="#">Import et Export Excel </a></li>
</ul>
</li>
</ul>
</nav>
CSS:
nav {
width:300px;
}
nav ul {
list-style:none;
margin:0;
padding:0;
}
nav ul li {
position:relative;
background-color: #d23070;
border: 1px solid;
border-top-right-radius: 0.5em;
border-top-left-radius: 0.5em;
border-bottom-right-radius: 0.5em;
border-bottom-left-radius: 0.5em;
margin-bottom: 5px;
}
nav ul li:hover,
nav ul li:FOCUS {
position:relative;
background-color: #3968ab;
border: 1px solid;
border-top-right-radius: 0.5em;
border-top-left-radius: 0.5em;
border-bottom-right-radius: 0.5em;
border-bottom-left-radius: 0.5em;
margin-bottom: 5px;
}
nav a {
color:#e8e8e8;
padding:12px 0px;
display:block;
text-decoration:none;
font-family:tahoma;
font-size:13px;
text-transform:uppercase;
padding-left:20px;
}
nav a:HOVER,
nav a:FOCUS {
background-color:#3968ab;
color:#ffffff;
border-top-right-radius: 0.5em;
border-top-left-radius: 0.5em;
border-bottom-right-radius: 0.5em;
border-bottom-left-radius: 0.5em;
}
nav ul li ul{
background-color:#3968ab;
color:blanc;
border: 1px solid;
border-top-right-radius: 0.5em;
border-top-left-radius: 0.5em;
border-bottom-right-radius: 0.5em;
border-bottom-left-radius: 0.5em;
}
nav a:focus ~ ul{
display:block;
border: 1px solid;
border-top-left-radius: 0.5em;
border-bottom-right-radius: 0.5em;
border-bottom-left-radius: 0.5em;
background:#f1f1f1;
padding-top: 10px;
}
nav ul li ul:hover {
display:block;
border: 1px solid;
border-top-left-radius: 0.5em;
border-bottom-right-radius: 0.5em;
border-bottom-left-radius: 0.5em;
background:#f1f1f1;
padding-top: 10px;
}
nav ul ul {
position:relative;
left:0px;
top:0px;
border-top:1px solid #e9e9e9;
display:none;
}
nav ul ul li {
width:296px;
background:#f1f1f1;
border:0.5px solid #e9e9e9;
border-top:0;
}
nav ul ul li a {
color:#3968ab;
font-size:12px;
text-transform:none;
}
nav ul ul li a:hover {
color:#ffffff;
}
我想是打開點擊菜單和然後保持打開狀態,即使我們在子菜單的列表中選擇一個元素。現在,如果我選擇了菜單列表中的一個項目,它仍然是打開的,但是如果我點擊子菜單列表中的一個項目並將其移出鼠標,它就不會顯示。
這是我選擇子菜單「Extourneécritureantérieur」(焦點)項目時所要做的。
但是,當子菜單不懸停時,它自己關閉。 (所以我必須讓它保持打開狀態)。即使沒有懸停,我如何保持開放狀態?
編輯: 我堅持保持打開子菜單時選擇的項目,而不是鼠標懸停。這對我來說是真正的問題...
這不似是對結果有任何影響......但我從來沒有做過JavaScript,所以我可能不會在JSP文件上實現它。我只是在之間添加代碼。這是不錯的實踐嗎? – Nico