【发布时间】:2017-05-23 17:36:13
【问题描述】:
我正在尝试使用 flexbox 设置左侧边栏。
如果需要,我希望侧边栏保持固定并有自己的滚动条。 如果内容很长并且主要内容上有滚动条,我不希望边栏在我向下滚动时移动。
这是一个实现示例: http://codepen.io/tedartus/pen/KmGYNm
问题是侧边栏在向下滚动时也在移动。
我读过一篇关于“使用 flexbox 固定侧边栏的位置”的帖子。我尝试了使容器与屏幕一样高的解决方案,并且只向主要内容添加滚动。
.wrapper {
display: flex;
height: 100vh;
}
.content {
flex: 1 1 auto;
overflow: auto;
}
它可以工作,但我不再看到右侧的滚动条了。知道为什么吗?
=> http://codepen.io/tedartus/pen/Pmygpq
我想在移动到侧边栏的滚动条之前先解决这个问题。
谢谢
【问题讨论】:
-
一旦将
position: absolute或position: fixed(position: absolute的一种形式)添加到弹性项目,它就不再参与弹性布局。您基本上删除了它接受 flex 属性的能力。 w3.org/TR/css-flexbox-1/#abspos-items -
这里是关于绝对定位网格项目的解释,其行为类似于弹性项目:stackoverflow.com/q/43999732/3597276