CSS水平菜单:显示:内联;不行

时间:2010-12-17 09:31:20

标签: css menu inline

我在使用Chrome / Firefox。我在这里也已经阅读了几个教程和问题。

我有一个包含LI的UL。我将LI设置为“display:inline;”,但它们不会。它们仍然是垂直的。

我做错了什么?

THX。

这是我的css:

  .menu{
    width: 100%;
    padding: 0px;
    margin: 0px;
    outline: 1px solid grey;
    background-color: #f6f6f6;
    font-size:100%;
}

.menu ul{
    float: left;
    list-style: none;
    margin: 0px;
    padding: 0px;
    background-color: #f6f6f6;
}

.menu li ul{
    display: none;
    height: auto;
    padding: 0px;
    margin: 0;
    background-color: #f6f6f6;
    outline: 1px solid gray;
    position: absolute;
    z-index: 200;
    left: 20px;
    top: 30%;
}

.menu li:hover ul{
    display: block;
}

.menu li:hover{
    background-color: #005ea2;
}

.menu li{
    display: inline;
    padding: 0;
    margin: 0;
    border-bottom: 1px dotted grey;
}

.menu ul li:last-child{
    border: none;
}


.menu a{
    display: block; 
    color: #333333;
    text-decoration: none;
    margin: 0px;
    margin-left: 5px;
}

.menu a:hover{
    color: white;
    background-color: #005ea2;
}

.menu .menu_header{

    color: #333333;
}

.menu .menu_header a:hover{
    color: white;
}

2 个答案:

答案 0 :(得分:3)

<li>元素需要float:left

答案 1 :(得分:0)

首先,您可以考虑在答案中添加相关的HTML,以帮助回答者更好地了解您的情况。

我可以发现一些可能与你的问题有关的奇怪事情。

首先,li ul选择器不是很有用:你更可能意味着相反,ul li

其次,我看到在悬停时你有一些变化为display: block。这是非常的 你有什么奇怪的行为吗?

第三,我看到你有a { display: block }。如果它的容器是display: inline,这不能很好地播放,所以你可能想要切换到容器的display: inline-block(无论如何我建议使用水平菜单)