I have a menu that displays sub-items in a vertical list. I would like to display them horizontally but can't see how to do that. Here is my jsfiddle . So instead of displaying as
First sub-item
Second sub-item
It should be
First sub-item Second sub-item
The width for the list should be whatever is available so that the items will appear correctly in a phone as well as a desktop. here's the code I'm using. Would someone please explain how to do this?
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
ul li {
display: inline-block;
width: 10em;
height: 2em;
line-height: 2em;
position: relative;
border-bottom: 2px solid #ccc;
}
ul li:hover {
background-color: #ffa;
}
ul li ul {
display: none;
position: absolute;
top: 2em;
left: 0;
}
ul li:hover ul {
display: block;
}
ul li ul li {
display: list-item;
position: relative;
}
ul li ul li ul {
display: none;
position: absolute;
top: 0;
left: 10em;
}
ul li ul li ul li {
display: none;
}
ul li ul li:hover ul {
display: block;
}
ul li ul li:hover ul li {
display: list-item;
}
</style>
<ul>
<li>First list item</li>
<li>Second list item</li>
<li>Third, with a dropdown
<ul>
<li>First sub-item</li>
<li>Second sub-item</li>
<li>Third, with a fly-out
<ul>
<li>Flyout one</li>
<li>Flyout two</li>
<li>Flyout three</li>
</ul>
</li>
<li>Fourth sub-item</li>
</ul>
</li>
<li>Fourth list item</li>
</ul>
To show them horizontally you just need to add display:flex
on hover instead of display:block
. Hope this is helpful to you.
ul { list-style-type: none; margin: 0; padding: 0; } ul li { display: inline-block; width: 10em; height: 2em; line-height: 2em; position: relative; border-bottom: 2px solid #ccc; } ul li:hover { background-color: #ffa; } ul li ul { display: none; position: absolute; top: 2em; left: 0; } ul li:hover ul { display: flex; } ul li ul li { display: list-item; position: relative; } ul li ul li ul { display: none; position: absolute; top: 2em; left: 0em; } ul li ul li ul li { display: none; } ul li ul li:hover ul { display: flex; } ul li ul li:hover ul li { display: list-item; }
<ul> <li>Main Menu <ul> <li>First sub-item</li> <li>Second sub-item</li> <li>Third sub-item</li> <li>Fourth sub-item <ul> <li>first flyout</li> <li>second flyout</li> <li>third flyout</li> </ul> </li> </ul> </li> </ul>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.