javascript - 如何创建一个滚动到底部然后保持固定的div
问题描述
我正在制作一个包含两个主要部分的页面,屏幕左半部分的 div a 将包含文本,而右半部分的 div b 将具有非常高的图像。
最初,我设想将左侧固定,这样当用户向下滚动查看整个图像时,左侧的文本仍然可见。
但是,我意识到有时文本可能会溢出屏幕,并且固定的 div 不会向下滚动以显示它。
下面是我正在谈论的图像:
我的问题是:我可以让左 div 向下滚动直到 div 的底部被显示,然后在用户继续滚动时保持固定?
如果这没有意义,例如 https://www.facebook.com上 Facebook 主页的右侧栏
这是我到目前为止的代码:https ://pastebin.com/ZPVEbjX9
html,
body {
padding: 0;
margin: 0;
background-color: #FFF;
color: #000;
display: flex;
font-family: Montserrat;
}
div#a {
position: fixed;
width: 40%;
height: 100%;
}
div#box {
position: absolute;
width: 70%;
height: 100%;
margin: auto 0;
background-color: #FFFAAA;
}
div#b {
position: relative;
width: 60%;
height: 100%;
margin-left: 40%;
background-color: #000;
}
div#backToTop {
position: fixed;
width: auto;
height: 30px;
right: 20px;
bottom: 20px;
background-color: rgba(0, 0, 0, 0.4);
border-radius: 5px;
}
a#backToTop {
text-decoration: none;
font-size: 15px;
color: #FFF;
padding: 10px;
vertical-align: middle;
line-height: 30px;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link type="text/css" rel="stylesheet" href="stylesBig.css" media="screen">
<link href="https://fonts.googleapis.com/css?family=Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
<title>G</title>
</head>
<body>
<a name="top"></a>
<div id="a">
<div id="box">
<p>a</p>
</div>
</div>
<div id="b">
<img src="image.png" style="width: 100%;" />
<div id="backToTop"><a id="backToTop" href="#top">back to top</a></div>
</div>
</body>
</html>
我做错了什么,我该如何解决?
解决方案
推荐阅读
- swiftui - 我是否正确对齐了这个 SKLabelNode?
- css - 触发复选框时背景渐变之间的css过渡
- apache-kafka - BATCH vs MANUAL 和 ack vs commit
- xamarin - 如何使用 xamarin.forms、DateTime.Now 显示当前时间而不在 Android 上实时更新?
- linux - 如何在不降低安全性的情况下修复 openssl 问题“tls_process_ske_dhe:dh key too small”
- arrays - swift如何使用范围参数声明函数
- mysql - 在 WAMP 中,您可以将不同的数据库放在不同的驱动器上吗
- javascript - 如何停止表单中包含无效字段的表单提交?
- regex - GtkSourceView - Gedit:正则表达式匹配差异
- python - 如何检查多个参数而不会出现混乱的“if”语句?