简体   繁体   English

CSS / HTML菜单显示不正确

[英]CSS/HTML menu not showing correctly

I'm trying to create a 2-level menu where level 1 is displayed horisontally and level 2 is displayed vertically. 我正在尝试创建一个2级菜单,其中1级水平显示,2级垂直显示。 No fancy folding, just a plain sitemap'ish menu. 没有花哨的折叠,只是一个普通的sitemap'ish菜单。

How it looks now: 现在的样子:

现在看起来如何

How I would like it to look: 我希望它看起来如何:

我希望它看起来如何

my html: 我的html:

<nav class="menu">
    <ul class="lvl1">
        <li class="lvl1"><a href="#">Lorem</a></li>
            <ul class="lvl2">
                <li class="lvl2"><a href="#">Vino</a></li>
                <li class="lvl2"><a href="#">Fino</a></li>
                <li class="lvl2"><a href="#">Dolce</a></li>
                <li class="lvl2"><a href="#">Vita</a></li>
                <li class="lvl2"><a href="#">Mamma Mia</a></li>             
            </ul>
        <li class="lvl1"><a href="#">Ipsum</a></li>
            <ul class="lvl2">
                <li class="lvl2"><a href="#">Vino</a></li>
                <li class="lvl2"><a href="#">Fino</a></li>
                <li class="lvl2"><a href="#">Dolce</a></li>
                <li class="lvl2"><a href="#">Vita</a></li>
                <li class="lvl2"><a href="#">Mamma Mia</a></li>             
            </ul>
        <li class="lvl1"><a href="#">Dolor</a></li>
            <ul class="lvl2">
                <li class="lvl2"><a href="#">Vino</a></li>
                <li class="lvl2"><a href="#">Fino</a></li>
                <li class="lvl2"><a href="#">Dolce</a></li>
                <li class="lvl2"><a href="#">Vita</a></li>
                <li class="lvl2"><a href="#">Mamma Mia</a></li>             
            </ul>
        <li class="lvl1"><a href="#">Sit</a></li>
            <ul class="lvl2">
                <li class="lvl2"><a href="#">Vino</a></li>
                <li class="lvl2"><a href="#">Fino</a></li>
                <li class="lvl2"><a href="#">Dolce</a></li>
                <li class="lvl2"><a href="#">Vita</a></li>
                <li class="lvl2"><a href="#">Mamma Mia</a></li>             
            </ul>
        <li class="lvl1"><a href="#">Amet</a></li>
            <ul class="lvl2">
                <li class="lvl2"><a href="#">Vino</a></li>
                <li class="lvl2"><a href="#">Fino</a></li>
                <li class="lvl2"><a href="#">Dolce</a></li>
                <li class="lvl2"><a href="#">Vita</a></li>
                <li class="lvl2"><a href="#">Mamma Mia</a></li>             
            </ul>
    </ul>
</nav>

my css: 我的CSS:

.menu ul {list-style: none; }
ul.lvl1 {display: table; }
li.lvl1 {display: table-cell; font: bold 1.8em BlenderHeavy; color: white; }
ul.lvl2 {display: block; }
li.lvl2 {display: block; font: normal 1.2em BlenderHeavy; color: silver; }

This is simple, I suppose, but I am a css rookie. 我想这很简单,但是我是CSS新秀。

Your HTML is invalid. 您的HTML无效。

Try it: 试试吧:

 .menu ul { list-style: none; } ul.lvl1 { display: table; } li.lvl1 { display: table-cell; font: bold 1.8em BlenderHeavy; color: white; } ul.lvl2 { display: block; } li.lvl2 { display: block; font: normal 1.2rem BlenderHeavy; color: silver; } ul ul { padding: 0; } 
 <nav class="menu"> <ul class="lvl1"> <li class="lvl1"><a href="#">Lorem</a> <ul class="lvl2"> <li class="lvl2"><a href="#">Vino</a> </li> <li class="lvl2"><a href="#">Fino</a> </li> <li class="lvl2"><a href="#">Dolce</a> </li> <li class="lvl2"><a href="#">Vita</a> </li> <li class="lvl2"><a href="#">Mamma Mia</a> </li> </ul> </li> <li class="lvl1"><a href="#">Ipsum</a> <ul class="lvl2"> <li class="lvl2"><a href="#">Vino</a> </li> <li class="lvl2"><a href="#">Fino</a> </li> <li class="lvl2"><a href="#">Dolce</a> </li> <li class="lvl2"><a href="#">Vita</a> </li> <li class="lvl2"><a href="#">Mamma Mia</a> </li> </ul> </li> <li class="lvl1"><a href="#">Dolor</a> <ul class="lvl2"> <li class="lvl2"><a href="#">Vino</a> </li> <li class="lvl2"><a href="#">Fino</a> </li> <li class="lvl2"><a href="#">Dolce</a> </li> <li class="lvl2"><a href="#">Vita</a> </li> <li class="lvl2"><a href="#">Mamma Mia</a> </li> </ul> </li> <li class="lvl1"><a href="#">Sit</a> <ul class="lvl2"> <li class="lvl2"><a href="#">Vino</a> </li> <li class="lvl2"><a href="#">Fino</a> </li> <li class="lvl2"><a href="#">Dolce</a> </li> <li class="lvl2"><a href="#">Vita</a> </li> <li class="lvl2"><a href="#">Mamma Mia</a> </li> </ul> </li> <li class="lvl1"><a href="#">Amet</a> <ul class="lvl2"> <li class="lvl2"><a href="#">Vino</a> </li> <li class="lvl2"><a href="#">Fino</a> </li> <li class="lvl2"><a href="#">Dolce</a> </li> <li class="lvl2"><a href="#">Vita</a> </li> <li class="lvl2"><a href="#">Mamma Mia</a> </li> </ul> </li> </ul> </nav> 

edited your code in this Fiddle 在此小提琴中编辑了您的代码

use float:left will resolve your problem 使用float:left将解决您的问题

hope this will help 希望这会有所帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM