Html 固定元件下方的静态元件,高度可变

Html 固定元件下方的静态元件,高度可变,html,css,css-position,Html,Css,Css Position,我有一个简单的网页,左上角有一个固定的菜单,然后是内容。我希望将内容放在菜单下方,但不知道菜单的高度,因此无法为内容设置硬编码的上边距(菜单的高度可能因设备和/或窗口大小而异)。 因此,当页面加载时,菜单在顶部,内容在其下方,当滚动时,内容在固定菜单后面滚动 我找到的解决方案是在内容之前复制菜单,静态和隐藏,但我想使用更干净的解决方案 我想要类似的东西: <div id="menu"> a (vertical) list goes here </div> <

我有一个简单的网页,左上角有一个固定的菜单,然后是内容。我希望将内容放在菜单下方,但不知道菜单的高度,因此无法为内容设置硬编码的上边距(菜单的高度可能因设备和/或窗口大小而异)。 因此,当页面加载时,菜单在顶部,内容在其下方,当滚动时,内容在固定菜单后面滚动

我找到的解决方案是在内容之前复制菜单,静态和隐藏,但我想使用更干净的解决方案

我想要类似的东西:

<div id="menu">
    a (vertical) list goes here
</div>
<div id="content">
    the content goes here
</div>


#menu {
    position: fixed;
    z-index: 999;
}

#content { margin-top: [height of #menu, not known until the page is rendered] }

这里有一个(垂直)列表
内容在这里
#菜单{
位置:固定;
z指数:999;
}
#内容{margin top:[菜单的高度,在呈现页面之前不知道]}

您需要为此使用javascript。当用户开始滚动时,添加
滚动的
类。并给它一个固定的位置

var scrollposition=”“;
$(窗口)。滚动(函数(){
scrollPostion=$(窗口).scrollTop();
scrollPostion>50?$(“#菜单”).addClass(“滚动”):$(“#菜单”).removeClass(“滚动”);
});
正文{
保证金:0;
填充:0;
}
#菜单{
边框:1px纯红;
}
#菜单。滚动{
位置:固定;
排名:0;
左:0;
右:0;
背景:#fff;
}

这里有一个(垂直)列表
“我们必须清楚地认识到所有的自然错误,并将其视为一种赞美、一种开明、一种真实的发明家和准建筑师的行为,必须加以解释。我们必须将其视为一种理性的行为,而不是一种理性的行为。”以下是一个例子:一个人在工作和生活中的时间长短,他在工作和生活中的时间长短,他在工作和生活中的时间长短,他在工作中的时间长短,他在工作中的时间长短,他在工作中的时间长短,他在工作中的时间长短,他在工作中的时间长短,他在工作中的时间长短,他在工作中的时间长短,他在工作中的时间长短,他在工作中的时间长短,他在工作中的时间,他在工作中的时间长短,他在工作中的时间,他在工作中的时间,他在工作中的时间,他在工作中的时间,他在工作中的时间,他在工作中的时间,他在工作中的你是否认为自己是一个不受法律约束的人,而不是一个不受法律约束的人?”“对于所有的错误,我们都要清楚地认识到这一点,这是因为我们需要赞美、尊重他人、尊重发明者的真实性和准建筑师的生命。Nemo enim ipsam Voluptate是一个有着丰富经验的人,他是一个理性的人。最重要的一点是,在劳动和就业领域,所有人都有自己的权利、义务和义务。但是最低限度的成本,是否需要在实验室中进行实际操作,是否需要从消费品中获得流动性?“我们是否应该为自己的行为辩护,是否应该为自己的行为辩护,是否应该为自己的行为辩护?”,发明者的真实性和准建筑师必须解释清楚。Nemo enim ipsam Voluptate是一个有着丰富经验的人,他是一个理性的人。最重要的一点是,在劳动和就业领域,所有人都有自己的权利、义务和义务。但是最低限度的成本,是否需要在实验室中进行实际操作,是否需要从消费品中获得流动性?“你是否有权利在一个自由的环境中为他人辩护?你是否有权利在一个自由的环境中为他人辩护?”
“对于所有的错误,我们都要清楚地认识到这一点,这是因为我们需要赞美、尊重他人、尊重发明者的真实性和准建筑师的生命。Nemo enim ipsam Voluptate是一个有着丰富经验的人,他是一个理性的人。最重要的一点是,在劳动和就业领域,所有人都有自己的权利、义务和义务。但是最低限度的成本,是否需要在实验室中进行实际操作,是否需要从消费品中获得流动性?“我们是否应该为自己的行为辩护,是否应该为自己的行为辩护,是否应该为自己的行为辩护?”,发明者的真实性和准建筑师必须解释清楚。Nemo enim ipsam Voluptate是一个有着丰富经验的人,他是一个理性的人。最重要的一点是,在劳动和就业领域,所有人都有自己的权利、义务和义务。但是最低限度的成本,是否需要在实验室中进行实际操作,是否需要从消费品中获得流动性?“我们是否应该以法律的形式来解释法律,以法律为准绳,以法律为准绳,以法律为准绳,以法律为准绳,以法律为准绳,以法律为准绳?”
#menu {z-index: 999; }

<div id="menu">
  a (vertical) list goes here
</div>
<div id="content">
   the content goes here
</div>
<script>
  window.onload = function() {
    var menuElement = document.getElementById("menu");
    var menuHeight = menuElement.offsetHeight;
    menuElement.style.position = "fixed";
    document.getElementById("content").style.marginTop = menuHeight+"px";
  };
</script>