解决Jquery easyui 中嵌套时layout不能随浏览器自适应大小

来源:互联网 发布:网络为什么使人抑郁 编辑:程序博客网 时间:2024/05/11 20:20
用jeasy-ui的layout来布局时,必然要重视其写法,尤其嵌套布局时,轻易呈现错误。经过一阵子的应用,总结规矩如下:
1、class定义为“easyui-layout”的元素,必必要有style里的height设置(width可以忽视,缺省是100%)。也可以设置fit="true",意味着将宽高设为其父容器的宽高(必然要确保父容器有宽高值),设置fit后本来的宽高设置将失效。
2、带有region属性的元素,上一级容器必须是带easyui-layout的元素。两者层次有依附性,中心不能再包裹其他容器元素。

3、region为"north"和"south"的层,须要设置高度,宽度无所谓。同理,east和west须要设置宽度,高度可忽视。center的高宽不必设置,由layout策画得来。


首先解释一下标题的含义,当我们用jQuery easyui layout 进行布局的时候,可能会遇到这样一个问题,那就是当手工调整浏览器大小,或者最大化、还原窗口的时候,layout的某个区域不能填充因为浏览器扩大而产生的空白区域,这时候看起来就比较别扭了。当然了,如果你的layout是直接放在body标签上的,且没有嵌套的layout的话,是不会出现layout不能自适应大小的情况的。

当布局比较复杂,势必就会要layout嵌套起来使用,这时候出现的页面不能自适应大小的情况就让我不能忍受,这个问题困扰了我几天时间,好在有万能的网络,问题总会得到解决,下面就将自己这两天查资料以及自己实践的经验介绍给大家,希望对以后遇到同样问题的朋友有所帮助。但是此处并不做深入分析,因为我也不熟悉jQuery和easyui。

先写一个有嵌套的layout,父级基于body,包含north,center,west,east,south五个区域,子级layout基于父级的center区域,如果你打开页面的时候,浏览器不是最大化,然后手工调整浏览器大小,就会发现问题所在。

其实,layout继承自panel,而panel有个fit属性,只要设置为true,layout就能自适应父元素的大小而变化,所以只要加上fit=”true”基本就可以解决问题。
原创粉丝点击