如何使子列在滚动时跟随父行
Posted
技术标签:
【中文标题】如何使子列在滚动时跟随父行【英文标题】:How to make child column follow parent row on scroll 【发布时间】:2021-11-09 17:27:08 【问题描述】:我正在使用来自 bootstrap-table 插件的表格,该表格填充了自定义 API 的数据。根据返回的数据,该表可能会变得很长。我有几个列表组位于表格旁边,这些列表组将根据用户与表格的交互来保存表格中的某些信息。如果填充表格的数据导致用户必须向下滚动才能查看其余数据,我希望列表组跟随滚动。
这是 html。如果用户必须向下滚动,我希望具有“followScroll”类的列跟随表格。它全部嵌套在一行中,列表组嵌套在第一个列表组列中,以便它们可以堆叠在一起。我尝试使用位置:固定在“followScroll”类上,但这只会使列表组消失。非常感谢任何有关如何实现这一目标的建议!
<div class="row tableData mb-3">
<div class="col-md-8">
<table id="table2" class="table table-bordered border-secondary">
<thead>
<tr>
<th data-field="state" data-checkbox="true">Copy</th>
<th data-field="date">Date</th>
<th data-field="temperature">Temperature</th>
<th data-field="hdd">HDD</th>
<th data-field="meterReading">Meter Reading</th>
<th data-field="expected">Expected</th>
<th data-field="replacement">Replacement</th>
<th data-field="reason">Reason</th>
<th data-field="notes">Notes</th>
</thead>
</table>
</div>
<div class="col-md-4 followScroll">
<ol class="list-group list-group-numbered">
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
</ol>
<div class="row mt-3">
<div class="col-md-12">
<ol class="list-group list-group-numbered">
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
</ol>
</div>
<div class="col-md-12 mt-3">
<ol class="list-group list-group-numbered">
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
</ol>
</div>
</div>
</div>
</div>
【问题讨论】:
您是否尝试将“粘性”属性添加到您的子元素? 我做到了。该列只是停留在其位置,不跟随滚动。 【参考方案1】:您可以在 CSS 文件中添加溢出属性。 css:
.followScroll
overflow-y: scroll;
overflow-x:scroll;
取决于您是要向右/向左滚动 (overflow-x:scroll;) 还是向上/向下滚动 (overflow-y:scroll)
【讨论】:
以上是关于如何使子列在滚动时跟随父行的主要内容,如果未能解决你的问题,请参考以下文章