由于已经回答(How can I have a position: fixed; behaviour for a flexbox sized element?)绝对/固定定位的框从Flexbox对齐元素的正常流中取出。但是,我怎样才能至少模拟position: fixed
元素的width: 300px; height: 100vw
行为?
这是初始布局的演示(http://codepen.io/anon/pen/ZGmmzR),左侧是侧边栏,右侧是内容块。我想nav
跟随用户在页面上滚动后的position: fixed
元素。我知道如何在没有Flexbox的情况下做到这一点。首先,我会在不使用JavaScript的情况下考虑纯CSS解决方案。谢谢!
答案 0 :(得分:28)
修改强>
某种程度上感觉不那么苛刻的解决方案可能是使容器(.wrapper
)与屏幕一样高,只添加滚动到主<section>
元素:
.wrapper {
display: flex;
height: 100vh;
}
section {
flex: 1 1 auto;
overflow: auto;
}
http://codepen.io/Sphinxxxx/pen/WjwbEO
原始回答:
您可以简单地将所有内容放在<nav>
内的包装器中(此处为:nav-wrapper
),然后修复该包装器:
...
.nav-wrapper {
position: fixed;
top: 0; left: 0;
}
<nav role="navigation">
<div class="nav-wrapper">
...
</div>
</nav>