javascript - 如何使用具有“位置:固定”元素的片段中的代码?我不能让它留在我的的身高(父母)
问题描述
我正在尝试使用此代码段(带有原始代码的链接):https ://codepen.io/starkxx/pen/NdemEv
这是用一些内容编辑的片段(POC 的容器,删除了一些代码):
https://codepen.io/Demky/pen/EzNLVB
我没有找到将茎包装包含在他的新父母身高内的解决方案;我认为问题出在这段代码中,但我找不到解决方案
<div class="stem-wrapper">
<div class="stem"></div>
<div class="stem-background"></div>
</div>
如果我试图给他一个位置,固定的茎包装器总是占据整个窗户的高度或消失:绝对/相对/...
.stem-wrapper {
position: fixed;
top: 0px;
bottom: 0px;
left: 50%;
}
我不允许为“顶部”设置静态值,因为我不知道片段离顶部有多远
我尝试了什么:
- 我试图建立一个父级,所以我可以在父级上使用 position:relative 并在子级上添加 position:absolute ,正如我在这里看到的那样: https : //stackoverflow.com/a/20994123/9552861 但我未能使其工作
- 试图玩位置/容器,徒劳
- 我也尝试过使用 javascript,但我没有取得任何进展
你们能给我一些关于如何找到解决方案的提示吗?
确定问题出在 CSS 上吗?
我是否应该继续尝试将此固定元素转换为父(位置:相对)/子(位置:绝对)关系?还是我没有朝着正确的方向寻找?
如果我需要就我的问题添加更多信息,请告诉我。我将 css/html 代码放在 codepen 上以获得更好的可见性,但如果对读者更好,我可以将其粘贴在这里。
问题截图:
当我将片段导出到另一个网站时出现问题的屏幕截图(主干——占据整个页面)
编辑:试图让问题更容易理解;
在修改后的片段中(此链接来自顶部):
我添加了一个容器(#timelineContainer with background-color:yellow);
我希望“.steam-wrapper”和他的孩子(.stem,.stem-background)不会超出黄色区域(用正确的颜色更新了屏幕截图)。
目标是将此 POC/Snippet 包含在容器中所以它可以在这个沙箱之外工作而不占用整个页面的高度
解决方案
如果我明白你想要什么,你需要做的是:
body {
background: @body-background;
margin: 0px;
padding: 0px;
font-family: sans-serif;
font-size: 15px;
line-height: 26px;
color: #B9CFD0;
font-family: 'Roboto Slab', serif;
/*overflow-x: hidden;
overflow-y: scroll;*/
overflow: hidden;
}
#timelineContainer {
overflow: auto;
height: 60%; /*any height you want the snippet to have*/
}
.container {
height: 40%;
}
然后你必须稍微调整一下阀杆:
.stem-wrapper {
position: fixed;
top: 40%;
bottom: 0px;
left: calc(50% - 8px);
max-height: 60%;
}
之后,您必须调整 JS 以适应新布局。因为滚动功能是和body相关的,现在应该和#timelineContainer相关
推荐阅读
- docker - 从 Confluent Source 和 Sink 连接器打印数据
- regex - 电子邮件正则表达式功能在 React 中不起作用以进行验证
- apache-kafka - 卡夫卡镜像制造者行为
- java - 在 STS 中单击使用的 AutoCompletionComboBox 时在类文件编辑器中找不到源
- accessibility - 角色="tab" 必须是角色="tablist" 的直接子代吗?
- virtualbox - HortonWorks Sandbox HDP 卡住了
- angular - 如何在Angular中获取元素值
- asp.net - 通过 ajax/angular 调用时,HttpContext.Current.Request.Files 始终为空
- verilog - 是否可以在 for 循环中使用 if/else 条件?
- c++ - 无法在 Mosquitto MQTT Broker 插件中访问 struct mosquitto 的元素