提问者:小点点

固定滚动上的标题,但子菜单需要下推内容


我需要一个固定的标题为level1菜单,但子菜单需要推动页面的其余部分时,点击level1。

如果我使标题位置固定,显然内容不会被下推,子菜单将与内容(以及菜单)重叠。

人们通常如何解决这个问题?谢谢!

http://jsfidle.net/l3xh3av1/

JS:

$(".menu").on("click",function(){
$(".submenu").slideToggle();
})

HTML:

<div class="page">
  <div class="header">
    <div class="menu">menu</div>
    <div class="submenu">submenu</div>
  </div>
    <div class="content">
        <p>content needs to be pushed down</p>
    </div>
</div>

CSS:

.header{
    height:200px;
    background:red;
    position:fixed;
    width:100%;
}
.menu{
    height:70px;
    background:blue;
}
.submenu{
    height:70px;
    background:yellow;
    display:none;
}
.content{
    background: purple;
    height:300px;
    width:100%;
}
.content p{
    color:black;
}
.page{
    height:3000px;
}

共1个答案

匿名用户

这个版本有一个固定的标题,在那里子菜单下推内容。

为了使其正常工作,我对您的css做了一点修改,因为您的.menu是固定的,而您的.header得到了一个填充来将未固定的内容移到视图中。

null

$(".menu").on("click",function(){
$(".submenu").slideToggle();
})
html, body {
    margin: 0;
}
.header{
    background: red;
    position: relative;
    padding-top: 70px;
}
.menu{
    position:fixed;
    top: 0;
    left: 0;
    height: 70px;
    width: 100%;
    background:blue;
}
.submenu{
    height:70px;
    background:yellow;
    display:none;
}
.content{
    background: purple;
    height:300px;
    width:100%;
}
.content p{
    color:black;
}
.page{
    height:3000px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="page">
    <div class="header">
        <div class="menu">menu</div>
        <div class="submenu">submenu</div>
    </div>
    <div class="content">
        <p>content needs to be pushed down</p>
    </div>
</div>