Split分割面板拖拽时布局错乱怎么办?
我在用 Split 分割面板做左右布局,但一拖动分割线,右边内容就跑出容器了,根本对不齐。
试过给容器加 overflow: hidden 也没用,控制台也没报错,就是视觉上错位。我的结构大概是这样:
<div class="split-container">
<div class="left-pane">左侧内容</div>
<div class="gutter"></div>
<div class="right-pane">右侧内容</div>
</div>
是不是哪里没设置定位或者尺寸约束?感觉拖拽时计算的宽度有问题。
左边和右边的 pane 都要设个基础宽度,比如 min-width: 200px 和 max-width: 80%。重点是 gutter 这个分割线,最好给它固定宽度比如 width: 5px,并且用 position: relative。
然后在 JavaScript 里监听拖拽事件,直接操作 DOM 样式比用第三方库性能上更好。每次拖动时,动态计算 left-pane 的宽度,记得加上单位 px,别直接赋值数值。代码大概这样:
这个方案能避免布局错乱,而且性能消耗也低。说实话,折腾布局问题真挺耗精力的,但把细节都考虑到位了就没问题了。