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

Bootstrap Columns在Kendo-UI中无法正常工作问题求助

解决Bootstrap Columns在Kendo-UI TabStrip中失效的问题

我帮你分析下这个问题,其实主要有两个核心原因,咱们一步步来解决:

首先,先解决最明显的jQuery冲突问题

你同时引入了两个不同版本的jQuery(一个是Google CDN的2.1.1,另一个是Kendo CDN自带的版本),这会直接导致Bootstrap和Kendo的JS逻辑冲突,很多功能都会失效。

修复方法:只保留一个jQuery引用,建议保留Kendo自带的那个(因为Kendo对jQuery版本有特定兼容性要求),调整后的脚本引入顺序应该是这样:

<!-- 先引入Kendo自带的jQuery -->
<script src="http://kendo.cdn.telerik.com/2016.1.226/js/jquery.min.js"></script>
<!-- 然后引入Bootstrap的JS -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<!-- 最后引入Kendo UI的核心脚本(如果之前没加的话) -->
<script src="http://kendo.cdn.telerik.com/2016.1.226/js/kendo.all.min.js"></script>

然后,解决TabStrip隐藏内容的列宽计算问题

Kendo TabStrip默认会把非激活的标签页内容设置为display: none,而Bootstrap的栅格系统依赖元素的实际宽度来计算列布局,隐藏的元素没法正确计算宽度,所以columns就失效了。这里给你两个解决方案:

方案1:利用TabStrip的激活事件触发重绘

修改你的TabStrip初始化代码,在标签页切换激活时,手动触发窗口的resize事件——Bootstrap会监听这个事件来重新计算栅格列宽:

$(document).ready(function() {
  $("#tabstrip").kendoTabStrip({
    animation: {
      open: { effects: "fadeIn" }
    },
    // 当标签页激活时触发resize
    activate: function(e) {
      $(window).trigger("resize");
    }
  });
});

方案2:修改TabStrip的隐藏样式(应急备选)

如果方案1效果不好,可以通过CSS修改Kendo TabStrip隐藏内容的方式,让非激活内容不是完全隐藏,而是移出可视区域但保留宽度计算:

.k-tabstrip-content > .k-content:not(.k-state-active) {
  display: block !important;
  visibility: hidden;
  position: absolute;
  top: -9999px;
  left: -9999px;
}
.k-tabstrip-content > .k-content.k-state-active {
  visibility: visible;
  position: static;
}

额外提醒

别忘了确保Bootstrap的CSS也正确引入了,如果Kendo的CSS覆盖了Bootstrap样式,可以把Bootstrap的CSS放在Kendo CSS之后引入,或者用更具体的CSS选择器来保持Bootstrap样式的优先级。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:11:14