You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular:展开子元素时保持Div滚动条位置的技术问询

日志容器展开JSON时滚动位置异常的修复方案

场景说明

我用一个设置了overflow: auto和flex-direction: column-reverse的DIV作为日志容器,让日志条目按时间顺序从下到上显示:

  • 每条日志提取line.text内容展示;
  • 若日志包含line.JSON结构,会显示一个按钮,点击可切换显示/隐藏格式化后的JSON代码(放在<pre>元素中)。

当前问题

点击按钮展开日志条目时,页面文本会上移,最终滚动位置定位到<pre>元素的底部,严重影响使用体验。推测是flex-direction: column-reverse属性导致的滚动行为异常。

预期行为:展开时滚动条向下扩展,用户能始终看到触发操作的按钮,仅展开的<pre>元素向下延伸。

尝试过的无效方案

曾尝试通过设置scrollTop调整位置,但效果不佳,代码如下:

if(logContainer && button) {
    logContainer.scrollTop = button.offsetTop - logContainer.offsetTop; 
}

现寻求能实现预期滚动行为的解决方案。

内容的提问来源于stack exchange,提问作者stax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:08:11