20

我在这里整理了一个 jsfiddle 来说明我的问题。本质上,我的主要内容上方有一个绝对定位的菜单系统,但内容似乎漂浮在菜单前面。将鼠标悬停在“Link 3”上,可以看到它只是隐藏它的主要内容;当菜单足够长时,它们会显示在下方。

我的导航标题看起来像这样:

<div id='nav-header'>
    <div class='nav-bar'>
        <div class='nav-item '>
            <a class='link-3' href='#'>
                <div class='nav-text-container'><p>Link 3</p></div>
            </a>
            <div class='flydown-container link-3'>
                <div class='flydown'>
                    <div class='header'>Heading 1</div>
                    <ul>
                        <li><a class='secondary-menu-link' href='#'><span>Sub-link 1</span></a></li>
                        <li><a class='secondary-menu-link' href='#'><span>Sub-link 2</span></a></li>
                        <li><a class='secondary-menu-link' href='#'><span>Sub-link 3</span></a></li>
                        <li><a class='secondary-menu-link' href='#'><span>Sub-link 4</span></a></li>
                        <li><a class='secondary-menu-link' href='#'><span>Sub-link 5</span></a></li>
                    </ul>
                    <div class='header'>Heading 2</div>
                    <ul>
                        <li><a class='secondary-menu-link' href='#'><span>Sub-link 1</span></a></li>
                        <li><a class='secondary-menu-link' href='#'><span>Sub-link 2</span></a></li>
                        <li><a class='secondary-menu-link' href='#'><span>Sub-link 3</span></a></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</div>

有相当多的 CSS,都在上面的 jsfiddle 链接中。

4

2 回答 2

28

使用z-indexCSS 属性(堆叠级别)。较低的 z-index 意味着较低的堆叠上下文(因此,如果两个重叠的兄弟元素具有不同的 z-index,则具有较高 z-index 的元素将显示在顶部)。

请注意,z-index 为每个级别的元素建立了一个新的堆叠上下文,因此它们需要位于 DOM 的同一级别。此外,z-index 仅适用于定位元素,因此除非将它们设置为相对、绝对或固定位置,否则它不会做任何事情。

修复了您的代码:

#nav-header {
    width: 940px;
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}
#upper-section {
    height: 300px;
    font-size: 0;
    position: relative;
    z-index: 1;
}

更多 z-index 信息:http ://css-tricks.com/almanac/properties/z/z-index/

于 2012-10-19T20:43:45.037 回答
0

你有一个position: relative;#media-slider如果你没有使用这个属性的目的,删除并且会起作用。

于 2012-10-19T20:41:55.110 回答