ExtJS 的布局

简介: 容器中可以放多个组件,甚至可以放其他容器 布局负责帮助容器,管理其中的组件。 容器中的layout选项(属性)用于控制容器的布局。 1.垂直布局与水平布局

容器中可以放多个组件,甚至可以放其他容器
布局负责帮助容器,管理其中的组件。
容器中的layout选项(属性)用于控制容器的布局。

1.垂直布局与水平布局
_

Ext.onReady(function () {

    Ext.create('Ext.window.Window', {
        title: '布局的演示',
        width: 600,
        height: 400,
        items: [

            //window中的布局,默认垂直布局

            //第一个组件       
            {
                fieldLabel: '作者',
                xtype: 'textfield'
            },

            //第二个组件
            {
                fieldLabel: '出版社',
                xtype: 'textfield'
            },

            //第三个组件 没有xtype,默认panel
            {
                //panel中的布局,显式指定水平布局
                title: '时间',
                layout: 'hbox',
                height: 80,
                items: [{
                        fieldLabel: '开始日期',
                        xtype: 'datefield'
                    }, {
                        fieldLabel: '结束日期',
                        xtype: 'datefield'
                    }

                ]

            }

        ]

    }).show();

});

2.Resizer改变上下左右大小
_

Ext.onReady(function () {

    Ext.create('Ext.window.Window', {
        
        title: '布局的演示:Resizer ',
        width: 600,
        height: 400,
        items: [
            //window中的布局,默认垂直布局
            //第一个组件       
            {
                id : 'author',
                fieldLabel: '作者',
                xtype: 'textfield'
            },
            //第二个组件
            {
                id: 'addr',
                fieldLabel: '出版社',
                xtype: 'textfield'
            },
            //第三个组件 没有xtype,默认panel
            {
                //panel中的布局,显式指定水平布局
                title: '时间',
                layout: 'hbox',
                height: 80,
                items: [{
                        fieldLabel: '开始日期',
                        xtype: 'datefield'
                    }, {
                        fieldLabel: '结束日期',
                        xtype: 'datefield'
                    }
                ],
                //第三个组件的resize
                resizable:{
                  handles:'n s w',  //哪些方向可以拉伸
                  minWidth:200,
                  minHeight:100
                }

            }

        ]

    }).show();
    
    Ext.create('Ext.resizer.Resizer',{
        el: 'author',
        handles :'all'
    });

});

3.Splitter分割布局
_

Ext.onReady(function () {

    Ext.create('Ext.panel.Panel', {
        
        title: '布局的演示:Splitter ',
        width: 600,
        height: 400,
        renderTo:Ext.getBody(),
        
        layout:{
          type:'hbox',  
          align:'center'
        },
        
        items: [
            
            //第一个组件  没有xtype 默认为panel     
            {
                
                title:'第一个panel',
                height:'100%',
                flex:2                 //比例
            },
            // splitter
            {
                xtype:'splitter',
                
            },
            //第二个组件  没有xtype 默认为panel     
            {
                
                title:'第二个panel',
                height:'100%',
                flex:3                 //比例
            },
            // splitter
            {
                xtype:'splitter',
                
            },
            //第三个组件  没有xtype 默认为panel     
            {
                
                title:'第三个panel',
                height:'100%',
                flex:4                 //比例
            }

        ]

    });
    

});

4.Accordion折叠布局
_

Ext.onReady(function () {

    Ext.create('Ext.panel.Panel', {
        
        title: '布局的演示:Accordion ',
        width: 600,
        height: 400,
        renderTo:Ext.getBody(),
        
        layout:'accordion',
        
        items: [
            
            //第一个组件  没有xtype 默认为panel     
            {
                title:'第一个panel',
            },

            //第二个组件  没有xtype 默认为panel     
            {
                title:'第二个panel',
            },

            //第三个组件  没有xtype 默认为panel     
            {
                title:'第三个panel',
            }

        ]

    });
    

});

5.Border布局(把panel分割成5个部分)
_

Ext.onReady(function () {

    Ext.create('Ext.panel.Panel', {
        
        title: '布局的演示:border ',
        width: 600,
        height: 500,
        
        renderTo:Ext.getBody(),
        
        layout:'border',
        items: [
            
            //第一个组件  没有xtype 默认为panel     
            {
                title:'上侧panel',
                height:100,
                region :'north'
            },

            //第二个组件  没有xtype 默认为panel     
            {
                title:'左侧panel',
                width:80,
                split:true,
                region :'west'
            },

            //第三个组件  没有xtype 默认为panel     
            {
                title:'中央panel',
                region :'center'
            },
            //第四个组件  没有xtype 默认为panel     
            {
                title:'左侧panel',
                width:80,
                region :'east'
            },
            //第五个组件  没有xtype 默认为panel     
            {
                title:'下侧panel',
                height:100,
                collapsible:true,
                region :'south'
            },
        ]

    });
    
});
目录
相关文章
|
2月前
|
前端开发 开发者 容器
探索现代Web开发中的CSS Grid布局技术
【8月更文挑战第29天】在数字时代的浪潮中,网页设计不断进化以适应日新月异的用户需求。CSS Grid布局技术作为一项革新性的前端工具,为设计师和开发者提供了前所未有的布局能力。本文旨在通过深入浅出的方式介绍CSS Grid的核心概念、基本用法以及在实际项目中的应用,帮助读者快速掌握这一强大的网页布局工具。
41 3
|
3月前
|
移动开发 前端开发 HTML5
CSS 【实战】 “四合院”布局
CSS 【实战】 “四合院”布局
34 0
CSS 【实战】 “四合院”布局
|
4月前
|
前端开发 开发者 容器
CSS基础-Flexbox布局基础
【6月更文挑战第11天】Flexbox是CSS3的全新布局模式,简化了网页动态布局问题。通过`display: flex`设置容器,调整`flex-direction`、`justify-content`、`align-items`等属性控制项目排列和对齐。适用于响应式布局、均匀分布空间和元素对齐。注意浏览器兼容性、选择合适布局模式及区分对齐与排序属性。通过实例代码学习和实践,掌握Flexbox能有效提升网页布局效率。
37 3
|
12月前
|
移动开发 JavaScript 前端开发
easyui01(基本布局)
easyui01(基本布局)
|
前端开发
【我的前端】CSS网页布局:实现三栏布局的方法
需求:实现左右两栏固定宽度,中间一栏自适应宽度。
【我的前端】CSS网页布局:实现三栏布局的方法
|
前端开发 容器
【CSS】最强大的布局之grid布局精讲
【CSS】最强大的布局之grid布局精讲
375 0
【CSS】最强大的布局之grid布局精讲
|
前端开发 容器
使用过CSS粘连布局吗?如何实现?
前言 这个问题考察的是大家对 CSS 基础知识的掌握程度。粘连布局是众多 CSS 中布局方式中的一种,比如常见的还有单列布局、三栏布局等等,今天我们主要将的是粘连布局。因为在我们平常的页面布局中,粘连布局使用的地方还是挺多的,有些小伙伴明明都在项目中用过这种布局方式了,但是却不知它叫粘连布局,如果面试的时候没有回答上来就很亏。 所以今天我们就讲一讲 CSS 众多布局中的一种:粘连布局。
316 0
使用过CSS粘连布局吗?如何实现?
|
JavaScript 前端开发 容器
你有几种方式实现CSS三栏布局?
前言 常见的网页布局有很多种,比如单列布局、等高布局、三栏布局等等。其中三栏布局在很多网站都有用到,这也是一种比较经典的网页布局方式,当然,想要实现网页三栏布局的方式有非常之多,我们今天就主要学习一些哪些方式可以实现三栏布局,这样小伙伴们遇到三栏布局需求的时候就可以根据需求自行选择合适的布局方式了。
256 0
你有几种方式实现CSS三栏布局?
|
前端开发 容器
彻底理解CSS Flexbox布局,看这一篇就够了!(下)
一、Flexbox布局的概念 Flexbox布局也叫Flex布局,弹性盒子布局。它的目标是提供一个更有效地布局、对齐方式,并且能够使父元素在子元素的大小未知或动态变化情况下仍然能够分配好子元素之间的间隙。主要思想是使父元素能够调整子元素的宽度、高度、排列方式,从而更好的适应可用的布局空间。设定为flex布局的元素能够放大子元素使之尽可能填充可用空间,也可以收缩子元素使之不溢出。 ​
227 0
|
前端开发 容器
彻底理解CSS Flexbox布局,看这一篇就够了!(上)
一、Flexbox布局的概念 Flexbox布局也叫Flex布局,弹性盒子布局。它的目标是提供一个更有效地布局、对齐方式,并且能够使父元素在子元素的大小未知或动态变化情况下仍然能够分配好子元素之间的间隙。主要思想是使父元素能够调整子元素的宽度、高度、排列方式,从而更好的适应可用的布局空间。设定为flex布局的元素能够放大子元素使之尽可能填充可用空间,也可以收缩子元素使之不溢出。 ​
262 0
下一篇
无影云桌面