将滚动内容定位在固定的flexbox导航菜单下
我有以下代码段(需要以全屏模式查看),我试图将<main>元素直接放置在元素下方<header>。我将<header>其固定在一个位置,因为当用户滚动浏览内容时,我希望它停留在屏幕顶部<main>元素中。我已经尝试了所有我知道的东西,但是我能想到的最好的办法是将该<header>元素放在该元素的顶部<main>,这样可以减少大部分内容。 我想出的最接近的解决方案是在<main>元素上加上一个推测的顶部填充,以便清除<header>。但是,此解决方案无法很好地说明各种屏幕尺寸,因为我使用的是rem sizing而不是px。当将多个元素放置在<header>使用相对或基于百分比的高度的元素内时,顶部填充的想法变得更糟。在一个屏幕尺寸上,所有内容都可以完美地排列在一起;在另一个屏幕尺寸上,内容可能相去甚远。 最后,我知道我可以使用jQuery动态设置顶部填充,但是它似乎并不总是能很好地工作。想知道是否有一个纯CSS / HTML解决方案。 谁能告诉我我在这里想念的东西吗?我的最佳填充方法是唯一可行的解决方案吗? $(document).ready(function() { $('#navToggle').click(function() { $("div#bottom-container > nav").slideToggle(); }); $(window).resize(function() { if(window.innerWidth >= "751") { $("header > div#bottom-container > nav").show(); }else { $("header > div#bottom-container > nav").hide(); } }); $("header > div#bottom-container > nav > ul > li > a").click(function(e) { if (window.innerWidth <= …