
css sticky 粘性问题
在实现 CSS 粘性布局时,遇到这样一个问题:
<div class="table-container">
<div class="header-row">
<div class="header-cell header-fixed">Header 1</div>
<!-- 更多头部单元格 -->
</div>
<div class="table-body">
<div class="row">
<div class="cell cell-fixed">Row 1</div>
<!-- 更多数据单元格 -->
</div>
<!-- 更多行 -->
</div>
</div>问题描述:左右滑动时,头部单元格可以粘住在左边,但是左右滚动超过 300px 就不粘住了。
解决方案
可以通过修改 table-body 的 display 属性来解决问题:
立即学习“前端免费学习笔记(深入)”;
.table-body {
display: flex;
}解释
粘性元素会“粘”到其最近的具有“滚动机制”的祖先元素。在示例代码中,超出 table-container 的滚动机制是 table-body。但是,table-body 默认的 display 属性为 block,使得它不支持水平滚动,导致超出 300px 后粘性效果失效。
通过将 table-body 的 display 属性改为 flex,它将变成一个具有水平滚动机制的容器,粘性元素就可以正常工作,一直粘住在左边。
以上就是CSS 粘性布局:如何解决头部单元格粘住失效的问题?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号