【发布时间】:2015-10-21 18:08:07
【问题描述】:
我有一个带有左右画布侧边栏的布局,将主要内容区域包围在中间。
侧边栏和主要内容是弹性项目,在弹性布局中从左到右定位。
侧边栏包含菜单和元链接。
我的问题是:滚动内容区域时,是否可以将侧边栏保持在固定位置,使它们保持在顶部而不向下滚动?
JS 小提琴:http://jsfiddle.net/Windwalker/gfozfpa6/2/
HTML:
<div class="flexcontainer">
<div class="flexitem" id="canvas-left">
<p>This content should not scroll</p>
</div>
<div class="flexitem" id="content">
<div>
<p>Scrolling Content</p>
</div>
</div>
<div class="flexitem" id="canvas-right">
<p>This content should not scroll</p>
</div>
</div>
CSS:
.flexcontainer {
display: flex;
flex-direction: row;
min-height: 100%;
align-items: stretch;
}
.flexitem {
display: flex;
}
#canvas-left {
background: yellow;
order: -1;
flex: 0 0 57px;
}
#content {
background: green;
order: 1;
padding: 1rem;
}
#content div {
display: block;
}
#canvas-right{
background: blue;
order: 2;
flex: 0 0 57px;
}
【问题讨论】:
-
尽管如此,我不这么认为。一旦您开始添加
position属性(如 absolute 或 fixed),您将删除块格式化上下文,因此flexbox将不再适用(AFAIK)。 也许有align-self的东西,但没有看到任何代码或结构很难评论。