1、Extjs 布局非常是灵活。可是吐槽下CSS,太难重写,想自己重构一套都难哎...

 var viewport = new Ext.Viewport({
layout:'border',
items:[ {
//中间部分
region:'center',
id: 'centerPanel',
iconCls:'',
title:'${centerTitle}',
autoScroll:false,
header:false,
layout: 'fit',
items:[mainTabs]},
{
//布局左边west部分
region : 'west',
width:220,
collapsible: true,
split:true,
header:false,
border:false,
frame:false,
xtype:'panel',
layout:'anchor',
collapseMode:'mini',
layoutConfig:{columns:1},
items:[{
split:true,
region:'west',
header:false,
autoScroll:false,
border:false,
anchor:'100% 10%',
xtype: 'panel',
html:'<table border="0" cellpadding="0" cellspacing="0" width="100%" height="60" background="./resource/image/banner_background/${theme}.png"> <tr > <td style="padding-left:15px;padding-top:10px"><img class="IEPNG" src="${banner}" /> </td> </tr></table>',
collapsible: true
},{region:'west',
width: 220,
anchor:'100% 84%',
collapsible: true,
minSize: 200,
border:false,
maxSize: 350,
split: true,
collapseMode:'mini',
iconCls:'book_previousIcon',
title: '${westTitle}',
layout:'accordion',
layoutConfig:{
animate:true,
activeOnTop : ${activeOnTop}
},
items: [
#foreach($card in $cardList)
{
autoScroll:true,
border:false,
contentEl: 'div.card.${card.menuid}',
#if(${card.iconcls}&&${card.iconcls}!="")
iconCls:'${card.iconcls}',
#end
title:'${card.menuname}'
}
#if(${card.isNotLast})
,
#end
#end
]
},{
split:true,
region:'west',
collapsible: true,
header:false,
autoScroll:false,
//border:false,
anchor:'100% 6%',
region:'center',
layout: {
type:'hbox',
padding:'3 3 3 3',
pack:'start',
align:'top'
},
defaults:{margins:'0 5 0 0'},
xtype: 'panel',
items:[configButton,closeButton]
}]
}
]});

说明

1.Viewport一个panel 来固定region:'center', 也就是center部分

2.再使用一个panel,使用layout:'anchor',布局方式,anchor布局将使组件固定于父容器的某一个位置,使用anchor布局的子组件尺寸相对于容器的尺寸,即父容器容器的大小发生变化时,使用anchor布局的组件会依据规定的规则又一次渲染位置和大小。

3.新增第二部的panel。加入3个子panel布局。而且配置它们的anchor。来填充父容器,保证改变3个中得一个,其它2个能自己主动填充空间,进行自己主动适应。

4.这里提示一点:因为是使用4个panel 组装成的区域,能够使用collapseMode:'mini',来控制关闭右側的面板。

实现效果:

【技能】Ext.Viewport 实现左三右一排列方式。的更多相关文章

  1. 没做过编译器就是被人欺——从一道变态的i++题猜编译器的行为(表达式从左往右扫描,同一变量相互影响)

    首先不要被人蒙了,如果是这样,根本编译不过: int i=1; int b=i+++++i; printf("%d %d\n", b ,i); Mingw报错:error: lva ...

  2. Oracle左连接,右连接

    Oracle左连接,右连接 数据表的连接有: 1.内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2.外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制 ...

  3. js实现Mac触摸板双指事件(上、下、左、右、放大、缩小)

    前言 这几天在修复一个web问题时,需要捕获Mac触摸板双指事件(上.下.左.右.放大.缩小),但发现并没有现成的轮子,还是要自己造. 例如:jquery.mousewheel.js(添加跨浏览器的鼠 ...

  4. php的函数参数按照从左到右来赋值

    PHP 中自定义函数参数赋默认值 2012-07-07 13:23:00|  分类: php自定义函数,默|举报|字号 订阅     下载LOFTER我的照片书  |     php自定义函数接受参数 ...

  5. 《剑指Offer》第1题(Java实现):在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

    一.题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...

  6. SQL-内连接、外连接(左、右)、交叉连接

    本文测试基于以下两个表,student(左) \ teacher(右),使用数据库MariaDB,图形化界面HeidiSQL. 连接查询的概念:根据两个表或多个表的列之间的关系,从这些表中查询数据,即 ...

  7. 论气机之"左升右降"

      生命现象源于气机的出入升降运动. “出入废则神机化灭,升降息则气立孤危.故非出入,则无以生长壮老已:非升降,则无以生长化收藏”(<素问·六微旨大论>),升降是气机主要的运动形式之一,是 ...

  8. sencha touch TabPanel 加入导航按钮(向左向右按钮) 以及Carousel插件(2014-11-7)

    Carousel插件代码: /* * TabPanel的Carousel功能插件 * 取至 * https://github.com/VinylFox/Ext.ux.touch.SwipeTabs * ...

  9. 视图Ext.Viewport和窗口Ext.Window用法

    Viewport不需要再指定renderTo,而我们也看到Viewport确实填充了整个浏览器显示区域,并会随着浏览器显示区域大小的改变而改改.他有三个特点: 1).创建即可使用.不需要渲染,当组件在 ...

随机推荐

  1. 据统计WIN10用户已经比WIN7多

    数据统计机构Netmarketshare今天发布了2018年12月份最新的桌面操作系统份额报告.在看似无休止的等待之后,微软在2018年取得了最后的胜利,不仅成为市值最高的公司,而且最新的Window ...

  2. java开发微信公众号支付(JSAPI)

    https://www.cnblogs.com/gopark/p/9394951.html,这篇文章写的已经很详细了. 下面写一下自己的思路: 1.首先下载demo,地址:https://pay.we ...

  3. 【Appium】每次启动是提示安装setting和unlock app的解决办法

    进入appium安装目录,C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android,编辑android.js文件,注释 ...

  4. 用Google Chrome 浏览器打开Unity打包的WebGL

    方法一: 直接build and run 方法二: 步骤: 1.打开浏览器的属性 2.在目标的位置添加--allow-file-access-from-files, 注意--allow-file-ac ...

  5. Eclipse快捷键 10个最实用的快捷键

    Eclipse中10个最实用的快捷键组合  一个Eclipse骨灰级开发人员总结了他觉得最实用但又不太为人所知的快捷键组合.通过这些组合能够更加easy的浏览源代码.使得总体的开发效率和质量得到提升. ...

  6. Android开发之Volley网络通信框架

    今天用了一下Volley网络通信框架,感觉挺好用的,写个博客记录一下用法.方便以后VC. Volley(Google提供的网络通信库,能使网络通信更快,更简单,更健壮.) 功能模块: 1. JSON, ...

  7. spring security源码分析心得

    看了半天的文档及源码,终于理出了spring-security的一些总体思路,spring security主要分认证(authentication)和授权(authority). 1.认证authe ...

  8. Android 勤用RXJava compose操作符消除重复代码

    相信小伙伴在使用RXJava与Retrofit请求网络时,都有遇到过这样的场景,在IO线程请求网络解析数据,接着返回主线程setData.更新View试图,那么也肯定熟悉下面这几句代码: .subsc ...

  9. Linq中where查询

    Linq的Where操作包括3种形式:简单形式.关系条件形式.First()形式. 1.简单形式: 例:使用where查询在北京的客户 var q = from c in db.Customers   ...

  10. CentOS中实现与Ubuntu下apt-get install build-essential功能类似的命令

    CentOS中实现与Ubuntu下apt-get install build-essential功能类似的命令 在Ubuntu中安装完系统后,可以直接使用apt-get install build-e ...