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

Kendo Splitter拖动分割条向左致高度变化,需保持高度恒定

解决Kendo Dialog嵌套Splitter拖动分割条时高度变化问题

在Kendo Dialog中嵌套Kendo Splitter的场景下,拖动分割条向左时Splitter高度会缩小,向右拖动时高度恢复,需实现拖动分割条时Splitter高度保持不变。

原问题代码

<link href="styles/classic-silver.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
<script src="scripts/kendo.ui.core.min.js"></script> 
<div id="class_dlg" title="Doc Category" class="class_dlg">
  <div id="class_splitter" class="class_splitter"> 
    <div>split1</div>
    <div>split2</div>
   </div>
</div> 
<style>
.class_splitter{
  flex-grow: 1;   
  height:100%; 
} 
</style>
<script>
this.dlg=$("#class_dlg").kendoDialog({
    modal: true,
    width:800,
    height:600,
    title:'x'
}); 

$("#class_splitter").kendoSplitter( {   panes: [ {  size: "500px"}]}); 
</script>

问题原因

Dialog内容区高度计算存在偏差,加上Splitter使用flex-grow:1后,拖动分割条会触发浏览器重排,导致Splitter高度被意外调整。

解决方案

通过固定Dialog内容区的可用高度,同时明确Splitter的高度配置,避免自动重计算导致的高度变化:

<link href="styles/classic-silver.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
<script src="scripts/kendo.ui.core.min.js"></script> 
<div id="class_dlg" title="Doc Category" class="class_dlg">
  <div id="class_splitter" class="class_splitter"> 
    <div>split1</div>
    <div>split2</div>
   </div>
</div> 
<style>
/* 固定Dialog内容区高度,减去标题栏占用空间 */
.class_dlg .k-dialog-content {
  height: calc(100% - 60px);
  padding: 0; /* 移除默认内边距,避免高度计算误差 */
}
.class_splitter{
  height:100%; /* 继承内容区全部高度 */
} 
</style>
<script>
this.dlg=$("#class_dlg").kendoDialog({
    modal: true,
    width:800,
    height:600,
    title:'x'
}); 

$("#class_splitter").kendoSplitter({   
    panes: [ { size: "500px" }],
    height: "100%" /* 明确指定Splitter高度,锁定为父容器高度 */
}); 
</script>

说明

  1. 给Dialog内容容器.k-dialog-content设置计算后的高度,确保Splitter有明确可用空间,标题栏高度可根据实际主题调整(示例用60px)。
  2. 移除Splitter的flex-grow:1,改为直接继承父容器100%高度,避免flex布局带来的不确定重排。
  3. 在Splitter初始化时明确指定height: "100%",强制其使用父容器全部高度,拖动分割条时仅调整面板宽度,不影响整体高度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:17:18