Html 如何使我的导航菜单显示在现有文本上

Html 如何使我的导航菜单显示在现有文本上,html,css,Html,Css,我创建了一个导航菜单,但它显示在元素下,而不是元素上。当我打开菜单时,我希望它出现在已经存在的任何东西上,并完全阻止它。我尝试使用z-index,但我一定是做错了什么,因为它不会改变任何东西。我读了一堆关于这个主题的帖子和其他网页,但我搞不懂。我已经坚持了差不多一天了,所以任何建议都是非常受欢迎的 以下是菜单的html: <nav id="navMenu"> <button id="menuButton" class="

我创建了一个导航菜单,但它显示在元素下,而不是元素上。当我打开菜单时,我希望它出现在已经存在的任何东西上,并完全阻止它。我尝试使用z-index,但我一定是做错了什么,因为它不会改变任何东西。我读了一堆关于这个主题的帖子和其他网页,但我搞不懂。我已经坚持了差不多一天了,所以任何建议都是非常受欢迎的

以下是菜单的html:

<nav id="navMenu">
    <button id="menuButton" class="closedMenu">
        Menu
        <span class="expicon glyphicon glyphiconClosed glyphicon-chevron-down"></span>
    </button>
    <ul>
        (some liquid code)
        {% fetchxml categories_query %}
        <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
           (some liquid code)
        {% endfetchxml %}
        {% for cat in categories %}
        <li>
            <span>(some liquid code)</span>
            <ul>
                <li>
                    <a>(some liquid code)</a>
                </li>

                {% fetchxml subcat_query %}
                <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
                    (some liquid code)
                {% endfetchxml %}

                {% for subcat in subcat_query.results.entities %}
                <li>
                    <a>(some liquid code)</a>
                </li>
                {% endfor %}
            </ul>
        </li>
        {% endfor %}
        {% endif %}
    </ul>
</nav>
下面是页面上的一些html及其菜单:

<header>
   <nav id:"navMenu>...</nav>
</header>
<main>
   <div class="row">
      <div>
          <h1>Welcome to the Portal-Poc website</h1> 
      <div>
   </div>
   <div>...</div>
   ...
</main>


标题
#navMenu
z-index
必须大于其他元素,然后在重叠时它将位于其他元素的顶部

例如:

.nav {
    z-index: 99;
}

.other-elements {
    z-index:10;
}

使用
z-index
to navMenuI成功地使其与z-index一起工作,但当我将z-index添加到#navMenu时,它不起作用。(这也是我在写这个问题之前尝试过的)。当我将z-index直接添加到li时,它确实起了作用。谢谢你的更正。在我之前的评论中,我写了li元素,但我指的是ul。它通过向ul元素添加z-index来工作。我尝试添加
#navMenu{z-index:99;}div、h1、h2、h3、a、span、main{z-index:10;}
,但没有工作。然后我尝试了两个不同的选项,通过向li元素添加z-index,我成功地实现了它。我假设li-inside#navMenu只会继承z-index值,但事实并非如此。谢谢,我建议将所有内容部分保留在一个div中,就像您使用的那样,尝试向该div添加一个较低值的z-index,并使用较高的z-index。更正我之前的评论。我说的是li元素,但它是ul元素。所以当我将它应用到ul元素时,它是有效的。我将尝试做类似的事情。非常感谢。
.nav {
    z-index: 99;
}

.other-elements {
    z-index:10;
}