子菜单扩展父 div 而不是显示在顶部 [英] Sub-menu expanding parent div instead of displaying on top

查看:36
本文介绍了子菜单扩展父 div 而不是显示在顶部的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚加入了 Stack Overflow,希望有人能帮我找到水平菜单的解决方案.我的子菜单似乎扩展了父 div 而不是显示在它上面.这是我的代码.

HTML 代码:

CSS 代码:

#menu {位置:相对;字体大小:0.8em;边距:0;填充:0;背景色:#666666;边框顶部:1px 实心 #999;边框底部:1px 实心 #999;溢出:隐藏;z-索引:2;}#menu ul {位置:相对;边距:0;填充:0;列表样式:无;z-索引:3;}#菜单里{显示:块;宽度:120px;向左飘浮;右边框:1px 实心 #999;z-索引:4;}#菜单一个{颜色:#ffffff;字体粗细:粗体;显示:块;文本对齐:居中;文字装饰:无;文本转换:大写;边距:0;填充:10px 20px;}#菜单a:悬停{颜色:#000000;边距:5px 10px;填充:5px 10px;背景颜色:#C0C0C0;边框半径:10px;}#menu ul.sub-menu {显示:无;位置:相对;}#menu ul.sub-menu li {宽度:200px;背景颜色:#C0C0C0;边框宽度:0 1px 1px 1px;边框样式:实心;边框颜色:#666666;}#menu ul.sub-menu li a {颜色:#000;文本对齐:居中;边距:5px 10px;填充:5px 10px;}#menu ul.sub-menu li a:hover {颜色:雪;背景色:#666666;}#menu li:hover ul.sub-menu {显示:块;z-索引:90;}

谢谢

解决方案

我在菜单 div 中添加了以下内容

溢出:可见;高度:35px;

我更新了你的 JsFiddle

I just joined Stack overflow and I'm hoping someone will help me find a solution for an horizontal menu. My sub-menus seems to extend the parent div instead of displaying on top of it. Here is my codes.

HTML Codes:

<div id="menu">
            <ul>
                <li><a id="" class="" href="">Home</a></li>
                <li><a id="" class="" href="">About Me</a>
                    <ul class="sub-menu">
                        <li><a href="">Biography</a></li>
                        <li><a href="">Photo Galery</a></li>
                        <li><a href="">Foot Print</a></li>
                    </ul>
                </li>
                <li><a id="" class="" href="">Expertise</a></li>
                <li><a id="" class="" href="">Projects</a>
                    <ul class="sub-menu">
                        <li><a href="">Geo 228 Portal</a></li>
                        <li><a href="">NEP Application</a></li>
                        <li><a href="">Geo Address Book</a></li>
                        <li><a href="">Assets Management</a></li>
                    </ul>
                </li>
                <li><a id="" class="" href="">Contact</a></li>
            </ul>
        </div>

CSS Codes:

#menu {
    position: relative;
    font-size: 0.8em;
    margin: 0;
    padding: 0;
    background-color: #666666;
    border-top: 1px solid #999;
    border-bottom: 1px solid #999;
    overflow: hidden;
    z-index: 2;
}


#menu ul {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
    z-index: 3;
}

#menu li {
    display: block;
    width: 120px;
    float: left;
    border-right: 1px solid #999;
    z-index: 4;
}

#menu a {
    color: #ffffff;
    font-weight: bold;
    display: block;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    margin: 0;
    padding: 10px 20px;
}

#menu a:hover {
    color: #000000;
    margin: 5px 10px;
    padding: 5px 10px;
    background-color: #C0C0C0;
    border-radius: 10px;
}

#menu ul.sub-menu {
    display: none;
    position: relative;
}

#menu ul.sub-menu li {
    width: 200px;
    background-color: #C0C0C0;
    border-width: 0 1px 1px 1px;
    border-style: solid;
    border-color: #666666;
}

#menu ul.sub-menu li a {
    color: #000;
    text-align: center;
    margin: 5px 10px;
    padding: 5px 10px;
}

#menu ul.sub-menu li a:hover {
    color: snow;
    background-color: #666666;
}

#menu li:hover ul.sub-menu {
    display: block;
    z-index: 90;
}

Thank you

解决方案

I added the following to the menu div

overflow: visible;
height: 35px; 

I updated your JsFiddle

这篇关于子菜单扩展父 div 而不是显示在顶部的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆