gpt4 book ai didi

html - 具有固定位置(无滚动)侧边栏的 Flex Layout

转载 作者:技术小花猫 更新时间:2023-10-29 12:51:44 26 4
gpt4 key购买 nike

我有一个带有左右 Canvas 侧边栏的布局,将主要内容区域包围在中间。

侧边栏和主要内容是 flex 元素,从左到右放置在 flex 布局中。

侧边栏包含菜单和元链接。

我的问题是:当滚动内容区域时,是否可以将侧边栏保持在固定位置,以便它们保持在顶部位置而不向下滚动?

JS fiddle :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;
}

最佳答案

请查看提供解决方案的类似问题:How to simulate 'position:fixed' behavior on Flexbox-aligned sidebar .

根据您的代码,您还可以将内部内容包装在“位置:固定”包装器中:

<div class="flexitem" id="canvas-left">
<div class="fixed">
<p>This content should not scroll</p>
</div>
</div>

并在 CSS 中添加适当的样式:

.fixed {
position: fixed;
width: 57px; /* according to #canvas-left */
}

这是您的代码示例,其中包含固定的左侧边栏:http://jsfiddle.net/8hm3849m/ .请注意,此技巧不会为侧边栏提供适当的灵活网格,包装器的宽度应固定(或通过 JavaScript 动态设置)。

关于html - 具有固定位置(无滚动)侧边栏的 Flex Layout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31722839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com