J'essaie de créer un menu déroulant de catégories avec plusieurs colonnes en fonction de la longueur de l'élément <ul>
.
Je veux placer chaque élément du sous-menu sous le précédent jusqu'à ce que la hauteur du sous-menu soit atteinte. Si c'est le cas, tout doit être placé dans une nouvelle colonne.
Quelque chose comme ça :
Main category
|
subcategory1 subcategory3
|subsub1 for subcategroy1 |subsub1 for subcategroy3
|subsub2 for subcategroy1 |
| subcategory4
subcategory2 | etc...
|subsub1 for subcategroy2
|subsub2 for subcategroy2
--------------------------------------------------------------------
// total height of the dropdown
is reached here
J'utilise flex-flow
et pour ce qui fonctionne vraiment bien. Cependant, je n'arrive pas à faire en sorte que mon conteneur de liste déroulante soit de pleine largeur avec une couleur de fond.
Mon HTML ressemble à ceci :
<div class="cats">
<ul>
<li class="item sub">
<a title="Baby" href="http://ministry.webshopapp.com/baby/" class="itemLink">Baby</a>
<div class="subnav">
<ul class="flex-wrap">
<li class="subitem title"><a title="Borstvoeding" href="#" class="title">something</a></li>
<li class="subitem"><a title="ATTITUDE" href="#" class="subitemLink">ATTITUDE</a></li>
<li class="subitem"><a title="Apple Park" href="#" class="subitemLink">Apple Park</a></li>
<li class="subitem title"><a title="Borstvoeding" href="#" class="title">something</a></li>
<li class="subitem"><a title="ATTITUDE" href="#" class="subitemLink">ATTITUDE</a></li>
</ul>
</div>
</li>
</ul>
</div>
Comme CSS est utiliser ceci :
.cats .subnav {
background: #fff none repeat scroll 0 0;
border: 1px solid #eee;
padding: 30px;
position: absolute;
text-align: left;
z-index: 99;
display:none;
}
.cats .item.sub:hover .subnav {
display: block;
}
.flex-wrap {
background: #fff none repeat scroll 0 0;
display: flex;
flex-flow: column wrap;
height: 200px;
}
.subnav .subitem {
background: #fff none repeat scroll 0 0;
line-height: 36px;
}
Alors comment puis-je faire .subnav
pour remplir l'arrière-plan aussi longtemps que nécessaire ?