html - 下拉菜单不在父级下方

标签 html css drop-down-menu

我曾尝试创建一个下拉菜单,但由于某种原因,子菜单项并没有直接出现在父菜单的下方。

这是我的 fiddle :http://jsfiddle.net/oampz/Lf3u3/2/

如果将鼠标悬停在一年上,您会看到电影类型显示在左侧。

HTML:

<nav class="site-nav">
    <ul class="menu-nav wrap menu menu--hor">
        <ul id="main-nav">
            <li class="menu-nav--home main-link">
                <a href="index.html" title="home"></a>    
            </li>
            <li class="menu-border drop-down nav-dropdown"><a>2014</a>
                <ul class="visuallyhidden">
                    <li><a href="#" title="title">Action</a>
                    </li>
                    <li><a href="#" title="title">Horror</a>
                    </li>
                    <li><a href="#" title="title">Sci-fi</a>
                    </li>
                </ul>
            </li>
            <li class="menu-border drop-down nav-dropdown"><a>2013</a>

                <ul class="visuallyhidden">
                    <li><a href="#" title="title">Action</a>
                    </li>
                    <li><a href="#" title="title">Horror</a>
                    </li>
                    <li><a href="#" title="title">Sci-fi</a>
                    </li>
                </ul>
            </li>
        </ul>
    </ul>
</nav>

如有任何关于如何始终使子菜单显示在其父菜单下方的建议,我们将不胜感激。

谢谢

最佳答案

为什么不为此寻求纯 CSS 解决方案?

作为起点:

Demo Fiddle

HTML

<ul>
    <li>2013</li>
    <li>2014
        <ul>
            <li>Action</li>
            <li>Horror</li>
            <li>Sci Fi</li>
        </ul>
    </li>
</ul>

CSS

 html {
     background: white;
     font-size: 100%;
     -webkit-text-size-adjust: 100%;
     -ms-text-size-adjust: 100%;
     min-height: 100%;
 }
 html {
     font-family: sans-serif;
 }
 body {
     margin: 0;
     padding: 0;
     background: transparent;
     font-size: 1rem;
     line-height: 1.5;
     color: #595959;
     min-width: 1080px;
 }
 ul {
     list-style:none;
     background:green;
     background: #0c5cac;
     background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0d66bf), color-stop(100%, #094786));
     background-image: -webkit-linear-gradient(#0d66bf, #094786);
     background-image: -moz-linear-gradient(#0d66bf, #094786);
     background-image: -o-linear-gradient(#0d66bf, #094786);
     background-image: linear-gradient(#0d66bf, #094786);
     border-width: 1px 0 1px 0;
     border-style: solid;
     border-color: #09427c;
     font-size: 14px;
     font-size: 0.875rem;
     line-height: 1.71429;
     color:white;
 }
 ul li {
     position:relative;
 }
 ul, li {
     margin:0;
     padding:0;
 }
 li {
     display:inline-block;
     padding:10px 10px;
 }
 ul li ul {
     display:none;
     position:absolute;
     top:45px;
     left:0;
 }
 ul li ul li {
     display:block;
 }
 ul li:hover {
     background-color: #2d8ff0;
     color: white;
     text-shadow: none;
 }
 ul li:hover ul {
     display:block;
 }

关于html - 下拉菜单不在父级下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22402346/

相关文章:

javascript - 使用 JavaScript 删除下拉列表中的选定值

javascript - 选择按钮选项中的 anchor 链接或按钮

javascript - 将选择输入的选定值设置为另一个选择选项值

javascript - 单击按钮后的 bootstrap/JS/Ajax 获取表单以更改图像

javascript - CSS 过渡不适用于 IE11

javascript - 用于删除第一个 div 并将相邻的 div 滑动到其位置的按钮

jquery - 动态添加 tr 不起作用

javascript - Ember 项目出现问题 - 根据选择填充文本字段

javascript - 如何使用弧法创建自定义圆?

html - 浏览器对 HTML 元素的默认 CSS