如何创建垂直菜单并在水平相对页面上显示其子菜单

时间:2015-07-25 01:57:58

标签: html css menu

我很难为我的网站创建导航,我希望在其中显示我的菜单:

  • 菜单1
  • 菜单2
  • 菜单3
  • 菜单4
  • 菜单5

和他们相对主菜单页面上的子菜单横向相似:

  SubMenu 1.1 | SubMenu 1.2 | SubMenu 1.3 | SubMenu 1.4 | SubMenu 1.5 | ...

我想在这里提一下,我有一个单页网站,使用jquery ajax将页面动态加载到div中,这些页面只包含一些我想要的内容,并且没有其他额外的内容或html标签比如<html> <head><body>等我想要的是什么?假设当我点击Menu 1并加载Menu 1时,应该在该页面水平打开像SubMenu 1.1 upto SubMenu 1.12这样的子菜单,同时菜单1必须保持活动状态!请看下面的图片。 这是我到目前为止的代码,我知道如果你能看到这个jsfiddle

<nav>
    <ul>
        <li><a href="#Menu 1">Menu 1</a>
            <ul>
                <li><a href="#SubMenu 1.1">SubMenu 1.1</a></li>
                <li><a href="#SubMenu 1.2">SubMenu 1.2</a></li>
                <li><a href="#SubMenu 1.3">SubMenu 1.3</a></li>
                <li><a href="#SubMenu 1.4">SubMenu 1.4</a></li>
                <li><a href="#SubMenu 1.5">SubMenu 1.5</a></li>
                <li><a href="#SubMenu 1.6">SubMenu 1.6</a></li>
                <li><a href="#SubMenu 1.7">SubMenu 1.7</a></li>
                <li><a href="#SubMenu 1.8">SubMenu 1.8</a></li>
                <li><a href="#SubMenu 1.9">SubMenu 1.9</a></li>
                <li><a href="#SubMenu 1.10">SubMenu 1.10</a></li>
                <li><a href="#SubMenu 1.11">SubMenu 1.11</a></li>
                <li><a href="#SubMenu 1.12">SubMenu 1.12</a></li>
            </ul>
        </li>
        <li><a href="#Menu 2">Menu 2</a>
            <ul>
                <li><a href="#SubMenu 2.1">SubMenu 2.1</a></li>
                <li><a href="#SubMenu 2.2">SubMenu 2.2</a></li>
                <li><a href="#SubMenu 2.3">SubMenu 2.3</a></li>
                <li><a href="#SubMenu 2.4">SubMenu 2.4</a></li>
                <li><a href="#SubMenu 2.5">SubMenu 2.5</a></li>
                <li><a href="#SubMenu 2.6">SubMenu 2.6</a></li>
                <li><a href="#SubMenu 2.7">SubMenu 2.7</a></li>
                <li><a href="#SubMenu 2.8">SubMenu 2.8</a></li>
                <li><a href="#SubMenu 2.9">SubMenu 2.9</a></li>
                <li><a href="#SubMenu 2.10">SubMenu 2.10</a></li>
                <li><a href="#SubMenu 2.11">SubMenu 2.11</a></li>
                <li><a href="#SubMenu 2.12">SubMenu 2.12</a></li>
            </ul>
        </li>
        <li><a href="#Menu 3">Menu 3</a>
            <ul>
                <li><a href="#SubMenu 3.1">SubMenu 3.1</a></li>
                <li><a href="#SubMenu 3.2">SubMenu 3.2</a></li>
                <li><a href="#SubMenu 3.3">SubMenu 3.3</a></li>
                <li><a href="#SubMenu 3.4">SubMenu 3.4</a></li>
                <li><a href="#SubMenu 3.5">SubMenu .5</a></li>
                <li><a href="#SubMenu 3.6">SubMenu 35.6</a></li>
                <li><a href="#SubMenu 3.7">SubMenu 3.7</a></li>
                <li><a href="#SubMenu 3.8">SubMenu 3.8</a></li>
                <li><a href="#SubMenu 3.9">SubMenu 3.9</a></li>
                <li><a href="#SubMenu 3.10">SubMenu 3.10</a></li>
                <li><a href="#SubMenu 3.11">SubMenu 3.11</a></li>
                <li><a href="#SubMenu 3.12">SubMenu 3.12</a></li>
            </ul>
        </li>
        <li><a href="#Menu 4">Menu 4</a>
            <ul>
                <li><a href="#SubMenu 4.1">SubMenu 4.1</a></li>
                <li><a href="#SubMenu 4.2">SubMenu 4.2</a></li>
                <li><a href="#SubMenu 4.3">SubMenu 4.3</a></li>
                <li><a href="#SubMenu 4.4">SubMenu 4.4</a></li>
                <li><a href="#SubMenu 4.5">SubMenu 4.5</a></li>
                <li><a href="#SubMenu 4.6">SubMenu 4.6</a></li>
                <li><a href="#SubMenu 4.7">SubMenu 4.7</a></li>
                <li><a href="#SubMenu 4.8">SubMenu 4.8</a></li>
                <li><a href="#SubMenu 4.9">SubMenu 4.9</a></li>
                <li><a href="#SubMenu 4.10">SubMenu 4.10</a></li>
                <li><a href="#SubMenu 4.11">SubMenu 4.11</a></li>
                <li><a href="#SubMenu 4.12">SubMenu 4.12</a></li>
            </ul>
        </li>
        <li><a href="#Menu 5">Menu 5</a>
            <ul>
                <li><a href="#SubMenu 5.1">SubMenu 5.1</a></li>
                <li><a href="#SubMenu 5.2">SubMenu 5.2</a></li>
                <li><a href="#SubMenu 5.3">SubMenu 5.3</a></li>
                <li><a href="#SubMenu 5.4">SubMenu 5.4</a></li>
                <li><a href="#SubMenu 5.5">SubMenu 5.5</a></li>
                <li><a href="#SubMenu 5.6">SubMenu 5.6</a></li>
                <li><a href="#SubMenu 5.7">SubMenu 5.7</a></li>
                <li><a href="#SubMenu 5.8">SubMenu 5.8</a></li>
                <li><a href="#SubMenu 5.9">SubMenu 5.9</a></li>
                <li><a href="#SubMenu 5.10">SubMenu 5.10</a></li>
                <li><a href="#SubMenu 5.11">SubMenu 5.11</a></li>
                <li><a href="#SubMenu 5.12">SubMenu 5.12</a></li>
            </ul>
        </li>
    </ul>
</nav>

这是css

nav li {
    display:inline-block;
    padding:0 0.4em;
    height:1.4em; line-height:1.4em;
    position:relative;
}

nav li.sub:after { content:'\25ba'; float:right; vertical-align:middle; font-size:50% }

nav > ul > li     { cursor:default }
nav li ul         { display:none }
nav li li         { display:block; width:8em }
nav li:hover > ul { display:block; position:absolute; top:1.4em;    left:-1px; width:8em; z-index:10 }
nav li li:hover ul{ left:8em; top:-1px }

nav li       { color:black; background:#C2C2C2; border:1px solid #121314; }
nav li li    { color:black; background:#C2C2C2; border-color:#696 }
nav li li li { color:black; background:#C2C2C2; border-color:#669 }

nav li:hover       { background:#828282; color:#fee }
nav li li:hover    { background:#828282; color:#efe }
nav li li li:hover { background:#828282; color:#eef }

nav li li { border-top-width:0 }
nav li li:first-child { border-top-width:1px }

看看这张图片了解更多! picture

任何帮助表示赞赏,并将根据需要提供任何进一步的细节。感谢

1 个答案:

答案 0 :(得分:0)

问题是你分配了几个位置错误(相对然后给了太多大小。你还需要指定最后一个li需要显示:block而第一个是内联块

nav > ul > li {
    display: block;
}

nav li li {
    display: inline-block;
}

http://jsfiddle.net/filipetedim/duagvm3h/9/