layout包括多个panel时出现滚动条的panel计算问题

发布于 2021-11-30 05:31:56 字数 1309 浏览 773 评论 1

布局如下:

<div class="easyui-layout" data-options="fit:true">
   <div data-options="region:'north'" style="height:44px;">
   </div>
   <div id="Cen" data-options="region:'center'">
      <div id="A" class="easyui-panel"></div>
      <div id="B" class="easyui-panel"></div>
      <div id="C" class="easyui-panel"></div>
   </div>
</div>
三个panel只用了collapsible:true这个tool。

#A、#B、#C都是宽度100%顶满了#Cen,但是一旦这三个内容panel包括了内容,并且三个的高度加起来超过了Cen的高度(内容太多),就会导致#Cen出现垂直滚动条。出现滚动条很正确,不然没法看这三个panel里面的东西,但问题是,出现的滚动条占用了#Cen内部的宽度,这导致#Cen的内容宽度变成了#A.width+scroll.width,将collapsible tool给遮住了,同时#Cen的水平滚动条也跟着出现了……

设置#Cen的overflow-y:scroll,垂直滚动条一直都在,但是#A、#B、#C的宽度却依然是#Cen的显示宽度(外面容器的内部宽度),而不是实际宽度减去滚动条的宽度,于是水平滚动条继续出现……

求如何修正这个#A、#B、#C的宽度设置问题



由于是包括了三个内容,而且这三个panel的高度未知(内容未知),所以不能#Cen.hideScrollY。

因为三个Panel都需要同时显示,所以也不能用accordion

1、难道要在#Cen的onResize事件中给#A、#B、#C用resize方法来做?除此之外有其他解决方法没?(这个方法我也还没有试)

2、将#Cen的overflow-x:hidden,然后取消三个panel的自带的tool,自己写两个tool,一个tool单纯占位,一个tool用于实际的collapsible功能,然后三个panel的padding-right:设置为超过滚动条的宽度……然后#Cen设置overflow-x:hidden,这样做貌似也可以解决,但是觉得好丑陋……(也没试)


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

悟红尘 2021-11-30 05:34:09

方式一不行,onResize事件不触发

用方式二处理了。真丑陋。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文