CSS - 始终覆盖在菜单顶部

瓦西里·阿尔图宁

我正在创建一个带有叠加层的菜单。它在早期阶段有效,但现在我遇到了一个不寻常的问题。我已经创建了叠加层和菜单,但是无论我将 z-index 设置为什么值,叠加层始终位于顶部。

我计划创建一个菜单,将在悬停时打开一个子菜单,之后必须显示覆盖层,以便在屏幕上只能看到菜单和子菜单项。

这是一个演示:http : //jsbin.com/wobopagamu/edit?html,css,output

.left_menu, .left_menu_sub_panel, .left_menu_sub_panel_list {
    list-style: none;
    -webkit-padding-start: 0px;
    padding: 0px;
    margin-left: 0px !important;
}

.left_menu_wrap {
    position: relative;
}

.left_menu {
    z-index: 2000;
}

.left_menu_sub_panel {
    background-color: white;    
    border: 1px #000 solid;
    position: absolute;
    top: 0px;
    left: 226px;
    padding: 30px;
    /*min-width: 400px;*/
    white-space: nowrap;
}


.left_menu > li {
    border-top: 0px;
    border-left: 2px #cd0000 solid;
    border-bottom: 1px #ddd solid;
    border-right: 1px #ddd solid;
    padding: 10px;
    cursor: pointer;
    max-width: 200px;
}

.left_menu > li > a {
    text-decoration: none;
    cursor: pointer;
    color: #444;
}

.left_menu a:hover, .left_menu a:visited, .left_menu a:active {
    text-decoration: none;
    color: #cd0000;
}




.menu_overlay {
 position: fixed; /* Sit on top of the page content */
    display: block; /* Hidden by default */
    width: 100%; /* Full width (cover the whole page) */
    height: 100%; /* Full height (cover the whole page) */
    top: 0; 
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5); /* Black background with opacity */
    z-index: 1000; /* Specify a stack order in case you're using a different order for other elements */
}

<div class="menu_overlay"></div>


<div class="left_menu_wrap">
<ul class="left_menu">
<li> 
<a href="#">Пункт 1</a>
    <ul class="left_menu_sub_panel">
            <li> 
                <ul class="left_menu_sub_panel_list">
                    <li> 
                        <a href="#">ПодПункт 1</a>
                    </li>                        
                    <li> 
                        <a href="#">ПодПодПункт 1</a>
                    </li>                        
                    <li> 
                        <a href="#">ПодПодПункт 2</a>
                    </li>                        
                    <li> 
                        <a href="#">ПодПодПункт 3</a>
                    </li>                        
                    <li> 
                        <a href="#">ПодПодПункт 4</a>
                    </li>                        
                </ul>
                <ul class="left_menu_sub_panel_list">
                    <li> 
                        <a href="#">ПодПункт 2</a>
                    </li>                        
                    <li> 
                        <a href="#">ПодПодПункт 1</a>
                    </li>                        
                    <li> 
                        <a href="#">ПодПодПункт 2</a>
                    </li>                        
                    <li> 
                        <a href="#">ПодПодПункт 3</a>
                    </li>                        
                    <li> 
                        <a href="#">ПодПодПункт 4</a>
                    </li>                        
                </ul>
            </li>    
            <li> 
                <ul class="left_menu_sub_panel_list">
                    <li> 
                        <a href="#">ПодПункт 2</a>
                    </li>                        
                    <li> 
                        <a href="#">ПодПодПункт 1</a>
                    </li>                        
                    <li> 
                        <a href="#">ПодПодПункт 2</a>
                    </li>                        
                    <li> 
                        <a href="#">ПодПодПункт 3</a>
                    </li>                        
                </ul>
            </li>    
            <li> 
                <ul class="left_menu_sub_panel_list">
                    <li> 
                        <a href="#">ПодПункт 3</a>
                    </li>                        
                </ul>
            </li>    
            <li> 
                <ul class="left_menu_sub_panel_list">
                    <li> 
                        <a href="#">ПодПункт 4</a>
                    </li>                        
                </ul>
            </li>    
    </ul>
</li>
<li> 
<a href="#">Пункт 2</a>
</li>
<li> 
<a href="#">Пункт 3</a>
</li>
<li> 
<a href="#">Пункт 4</a>
</li>
</ul>
</div>

我错过了什么吗?

更新 1:我修复并改进了菜单,在这里您可以找到即用型菜单:

http://jsbin.com/sivobucato/3/edit?html,css,js,output

路易·罗塞罗

如果不先声明位置,就不能使用 CSS 属性 z-index。

.left_menu
{
  position: relative; // Add this code.
  z-index: 2000;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CSS顶部菜单栏

来自分类Dev

CSS缩放图像始终位于顶部

来自分类Dev

html css图像始终位于顶部

来自分类Dev

顶部菜单中的prestashop CSS问题

来自分类Dev

CSS:固定/固定的顶部菜单栏

来自分类Dev

CSS网格行应始终覆盖

来自分类Dev

HTML + CSS:水平子菜单,始终显示

来自分类Dev

CSS和div,如何固定始终垂直放置在顶部的文本

来自分类Dev

CSS Z-index问题顶部菜单背景

来自分类Dev

CSS:使下拉菜单与顶部栏一样宽

来自分类Dev

CSS下拉菜单强制到顶部不低于

来自分类Dev

CSS菜单中顶部和底部div之间的魔术间隙

来自分类Dev

UL / LI CSS代码无法正确显示顶部菜单

来自分类Dev

CSS下拉菜单始终位于侧面(而不是底部)

来自分类Dev

如何保持菜单始终位于顶部

来自分类Dev

如何使菜单始终保持在顶部

来自分类Dev

在CSS菜单的边框底部使活动li的边框底部覆盖

来自分类Dev

HTML / CSS下拉菜单未覆盖或显示在块中

来自分类Dev

jQuery DataTables覆盖的CSS固定菜单栏

来自分类Dev

在CSS菜单的边框底部使活动li的边框底部覆盖

来自分类Dev

尝试使我的标题图片覆盖CSS的左侧,顶部和右侧

来自分类Dev

如何始终显示顶部菜单而不是显示悬停?

来自分类Dev

如何在CSS中制作高度可变的固定顶部菜单栏?

来自分类Dev

如何使用css在顶部显示带有箭头的下拉菜单?

来自分类Dev

CSS滚动与顶部溢出

来自分类Dev

靠近屏幕CSS的顶部

来自分类Dev

与顶部图像 CSS 重叠

来自分类Dev

在Android中覆盖顶部菜单问题的后退按钮事件

来自分类Dev

在Android中覆盖顶部菜单问题的后退按钮事件