layout包括多个panel时出现滚动条的panel计算问题
布局如下:
<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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
方式一不行,onResize事件不触发
用方式二处理了。真丑陋。