J'ai déjà posé une question sur la façon de créer un menu déroulant par css. Maintenant je l'ai pour fonctionner magnifiquement. Mais maintenant je dois le faire réagir au clic. Le menu que j'essaye de créer aura 2 ensembles d'éléments de liste imbriqués. J'utilise pseudo selecter: se concentrer sur les éléments de la liste de premier niveau. Mais bien sûr, je perds la partie focus lorsque j'essaie d'afficher l'élément de liste imbriqué. Est-il possible, d'une manière ou d'une autre, de garder l'élément de liste de premier niveau pour rester concentré pendant que l'utilisateur va plus loin dans le menu?Comment créer un menu déroulant imbriqué sur un clic avec focus (CSS uniquement)?
Mon code html est comme ce
<header class="Header">
<!-- Head navigation-->
<div>
<a href="#" title="cart"> <img src="images/cart_logo_webb_design.svg" alt="cart"></a>
<a href="#" title="Search"> <img src="images/search_logo_webb_design.svg" alt="search glass"></a>
</div>
<div> <img src="images/k_logo_webb_design.svg" alt="CompanyLogo"> </div>
<div>
<nav id="MainNavigation">
<a href="#" id="menuIcon"><img src="images/menu_logo_webb_design.svg" alt="Menu icon"></a>
<ul id="dropDownMenu">
<li>
<a class="Sub_Menu_Link" href="#" title="Woman">Woman
</a>
<li>
<a class="Sub_Menu_Link" href="#" title="Womanplus">+
</a>
<ul>
<li><a href="#">1</a> </li>
<li><a href="#">2</a> </li>
<li><a href="#">3</a> </li>
<li><a href="#">4</a> </li>
<li><a href="#">5</a> </li>
</ul>
</li>
</li>
<li> <a class="Sub_Menu_Link" href="#" title="Man">Man</a>
<li>
<a class="Sub_Menu_Link" href="#" title="Manplus">+
</a>
<ul>
<li><a href="#">1</a> </li>
<li><a href="#">2</a> </li>
<li><a href="#">3</a> </li>
<li><a href="#">4</a> </li>
<li><a href="#">5</a> </li>
</ul>
</li>
</li>
<li><a class="Sub_Menu_Link" href="#" title="Sale">Sale</a></li>
</ul>
</nav>
</div>
</header>
Et le css est répertorié ici
header {
position: fixed;
display: block;
background: white;
z-index: 1;
width: 100%;
top: 0;
}
.Header img {
width: 36px;
height: 40px;
}
header div {
float: right;
width: 33.33%;
margin: 0;
}
header div:first-of-type a {
padding: 0%;
}
header div:after {
content: "";
visibility: hidden;
display: block;
clear: both;
}
nav {
position: relative;
left: 0;
}
nav > ul {
margin: 0;
padding: 0 0px;;
float: left;
line-height: 40px;
}
nav a {
positon: absolute;
left: 0;
}
nav ul ul {
padding: 20px;
}
nav ul a {
list-style: none;
text-decoration: none;
}
nav ul ul li a {
display: inline-block;
}
nav > ul:after {
content: "";
visibility: hidden;
display: block;
clear: both;
}
.Sub_Menu_Link {
display: inline-block;
padding: 10px 0px;
line-height: 40px;
}
.Sub_Menu_Link:hover {
color: yellow;
}
nav ul {
background: #E9E9E9;
position: relative;
width: 100%;
}
nav ul ul li a:hover {
color: yellow;
}
nav ul ul {
display: none;
}
nav ul a:focus {
background: red;
}
nav ul a:focus ~ ul {
display: block;
}
nav > a:hover {
background-color: red;
}
nav > a:focus {
background-color: green;
}
nav ul {
display: none;
}
nav > a:focus ~ ul {
display: block;
}