javascript - 如何在容器内但在当前行之外创建一个粘性 div 元素?
问题描述
我需要在这里快速修复,如何使具有粘性类的元素在容器内实际上是粘性的,但在它的父行之外也是如此。任何人都可以建议我使用 HTML css 和 javascript 快速修复吗?谢谢!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sticky Element</title>
<style>
.sticky{
position: sticky;
top: 120px;
height: 200vh;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-lg-2">
<div class="sticky">
<h1>Sticky element</h1>
</div>
</div>
<div class="col-lg-10">
</div>
</div>
<div class="row">
<div class="col-lg-2">
</div>
<div class="col-lg-10">
</div>
</div>
<div class="row">
<div class="col-lg-2">
</div>
<div class="col-lg-10">
</div>
</div>
</div>
</body>
</html>
解决方案
position: absolute
正在为 工作sticky
,但sticky
必须在父元素下(因此在您的情况下,它必须正好在 内container
)。
.row {
background: #CCC;
border-bottom: 1px solid black;
}
.sticky {
position: absolute;
}
.row>div {
padding: 40px;
}
.container {
margin-top: 40px;
margin-bottom: 40px;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
<div class="sticky">
<h1>Sticky element</h1>
</div>
<div class="row">
<div class="col-lg-2">
Cell 1
</div>
<div class="col-lg-10">
Cell 2
</div>
</div>
<div class="row">
<div class="col-lg-2">
Cell 3
</div>
<div class="col-lg-10">
Cell 4
</div>
</div>
<div class="row">
<div class="col-lg-2">
Cell 5
</div>
<div class="col-lg-10">
Cell 6
</div>
</div>
</div>
如果有什么不正确的,请发表评论。
推荐阅读
- mesibo - 注册:使用 Mesibo 时,用户消息不会存储在本地
- typescript - Cloudformation 堆栈上的 AWS-CDK IAM 角色
- angular - 角度单元测试,超过代码行不计入结果
- maven - 在远程服务器上构建 maven 项目失败
- java - 有没有办法根据 SQL 查询锁定块执行?
- validation - 谷歌表格在下拉列表中出现无效错误,但项目在列表中
- gitea - Gitea - 不允许创建存储库 api 响应方法
- react-native - 反应本机导航抽屉:按下叠加层时抽屉未关闭
- r - 跨多列使用 IFELSE 函数
- javascript - 如果没有,我真的不明白这一点!操作员