javascript - CSS Jquery 垂直导航菜单与水平子菜单

标签 javascript jquery css navigation

我想创建一个像这样的导航菜单:

|main-item1|
|main-item2|    |sub-item1| |sub-item2| |sub-item3|
|main-item3|
|main-item4|

我现在看到的是这样的:

|main-item1|
|main-item2|    
     |sub-item1| |sub-item2| |sub-item3|  |main-item3|  |main-item4|

我在 stackoverflow 上发现了另一个类似的问题,但我无法调整代码。

我的html代码是这样的:

        <div>
        <nav>
        <ul id="mainmenu">
                <li><a href="chi_siamo">Chi siamo</a></li>
                <li><a href="servizi">Servizi</a>
                <ul class="submenu">
                    <li>
                        <a href="speciale">speciale</a>
                    </li>
                    <li>
                        <a href="#">privati</a>
                    </li>
                    <li>
                        <a href="">aziende</a>
                    </li>
                    <li>
                        <a href="">cerimonie</a>
                    </li>
                    <li>
                        <a href="">consulenza</a>
                    </li>
                </ul>
                </li>
                <li><a href="location">Location</a></li>
                <li><a href="contatti">contatti</a></li>
                <li class="last"><a href="partner">partner</a></li>
                </ul>
                </nav>
    </div>

这是CSS:

    #mainmenu {
  position: fixed;
  left: 20px;
  top: 50%;
  z-index: 999999;
  margin-top:-200px;
}

  #mainmenu li {
    height: 40px;
    margin: 5px;
    position: relative;
  }

  #mainmenu a {
    background: none repeat scroll 0 0 #333;
    color: #fff;
    display: block;
    font-family: Folio;
    font-size: 30px;
    padding: 2px 15px;
    text-decoration: none;
    text-transform: uppercase;
    width: 160px;
    height: 40px;
    /*background: url(Images/dotnav.png) 0 100% no-repeat;*/
 /*text-indent: -10000px;*/
    overflow: hidden;
  }


  #mainmenu a:hover,
  #mainmenu li.active a {
    background-position: 0 0;

  }
.submenu
{
    list-style-type: none; 
    position:relative;
    float:left;
}
.submenu li
{
    display: inline; 
    float:left; 
    position:relative
}

使用一些 jquery 插件就可以了,也是因为我想在悬停时添加一些效果,但我认为最好先将所有内容与 css 对齐。

谢谢

最佳答案

试试这个:

#mainmenu>li {
height: 40px;
margin: 5px;
position: relative;
clear:both

}

并 float 到链接:

#mainmenu a {

float:left;

background: none repeat scroll 0 0 #333;
color: #fff;
display: block;
font-family: Folio;
font-size: 30px;
padding: 2px 15px;
text-decoration: none;
text-transform: uppercase;
width: 160px;
height: 40px;
overflow: hidden;
}

关于javascript - CSS Jquery 垂直导航菜单与水平子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6775452/

相关文章:

javascript - 将以秒为单位的日期转换为 'day month year' 日期

javascript - jQuery 自动滚动到元素

javascript - 让侧面内容始终 float 在中心?

css - CSS 中的区域类似于 C# 区域?

html - 是否可以防止CSS中连字符之间的换行?

javascript - 尝试拼接字符串内的多个单词

javascript - 选项卡无法正常工作

javascript - 如何使用 jQuery 选择器访问 native 方法?

javascript - 加载模板时调用操作函数(Ember.js)

css - 使用 ng-select 时如何更改 css?