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'
            },
        ]

    });
    
});
目录
相关文章
|
3月前
|
前端开发 开发者 容器
探索现代Web开发中的CSS Grid布局技术
【8月更文挑战第29天】在数字时代的浪潮中,网页设计不断进化以适应日新月异的用户需求。CSS Grid布局技术作为一项革新性的前端工具,为设计师和开发者提供了前所未有的布局能力。本文旨在通过深入浅出的方式介绍CSS Grid的核心概念、基本用法以及在实际项目中的应用,帮助读者快速掌握这一强大的网页布局工具。
52 3
|
4月前
|
移动开发 前端开发 HTML5
CSS 【实战】 “四合院”布局
CSS 【实战】 “四合院”布局
38 0
CSS 【实战】 “四合院”布局
|
5月前
|
前端开发 编解码
css的布局方式
css的布局方式
41 4
|
容器
13EasyUI 布局- 为网页创建边框布局
13EasyUI 布局- 为网页创建边框布局
37 0
|
移动开发 JavaScript 前端开发
easyui01(基本布局)
easyui01(基本布局)
|
前端开发
【我的前端】CSS网页布局:实现三栏布局的方法
需求:实现左右两栏固定宽度,中间一栏自适应宽度。
【我的前端】CSS网页布局:实现三栏布局的方法
|
JavaScript 前端开发 API
easyui布局——【入门】
easyui布局——【入门】
easyui布局——【入门】
|
前端开发 容器
使用过CSS粘连布局吗?如何实现?
前言 这个问题考察的是大家对 CSS 基础知识的掌握程度。粘连布局是众多 CSS 中布局方式中的一种,比如常见的还有单列布局、三栏布局等等,今天我们主要将的是粘连布局。因为在我们平常的页面布局中,粘连布局使用的地方还是挺多的,有些小伙伴明明都在项目中用过这种布局方式了,但是却不知它叫粘连布局,如果面试的时候没有回答上来就很亏。 所以今天我们就讲一讲 CSS 众多布局中的一种:粘连布局。
323 0
使用过CSS粘连布局吗?如何实现?
|
JavaScript 前端开发
|
JavaScript