【发布时间】:2020-10-13 14:13:41
【问题描述】:
我很难完成我在 Twitter 和 Instagram 的桌面版本上看到的一些事情。
我想要的是页面左右两侧的响应式侧边栏。中间是一个包含页面内容的 600 像素宽度的 div。滚动条必须位于页面的右侧,而不是内容 div 的右侧。
让我告诉你一些我在过去两天发现的不完全存在的东西。
-
A Flexbox layout with fixed sidebars。这里存在三个问题:(1)滚动条在content div的右侧。我希望它位于浏览器的右侧。 (2) 中间的内容没有设置为 600px 宽度。 (3) 我怀疑如果它的宽度是 600px,那么周围的侧边栏不会响应地调整到正在调整大小的浏览器。
-
This jsFiddle which is very close。这里的问题是代码没有响应。因为侧边栏是通过它们的
fixed位置从文档流中删除的,所以当我这样写时,它们的宽度不能自动调整以填充600px宽度内容div 周围的空间。相反,我在两边都有空白。
This 将是我想要的,如果侧边栏 div 在您滚动时跟随您向下滚动页面。
要求摘要:
-
两个响应式侧边栏,固定在页面的左侧和右侧,可扩展和收缩以填充 600 像素中心内容 div 周围的空间。
-
中心的 div 包含可滚动的内容;但是滚动条不在 div 的一侧(我可以做到,这很容易)。而是像 Twitter 和 Instagram 一样位于页面的一侧。
我已经在这两天待了大约 16 个小时。很明显,我不能使用position: fixed 或sticky,因为侧边栏必须像 Twitter 一样响应。换句话说,中间的内容 div 占据了 600px 的宽度,侧边栏会响应地调整以填充剩余的宽度。但是如果没有position: fixed,就没有办法让侧边栏保持原样......?
【问题讨论】: