布局之间有什么区别:'hbox'和布局:'列'

Mic*_*lps 6 extjs extjs4

有什么区别layout:'hbox'layout:'column'?它只是语法吗?

示例' ':

layout:'column',
items: [{
    title: 'Width = 25%',
    columnWidth: .25,
    html: 'Content'
},{
    title: 'Width = 75%',
    columnWidth: .75,
    html: 'Content'
},{
    title: 'Width = 250px',
    width: 250,
    html: 'Content'
}]
Run Code Online (Sandbox Code Playgroud)

示例' hbox ':

layout: {
    type: 'hbox',
    pack: 'start',
    align: 'stretch'
},
items: [
    {html:'panel 1', flex:1},
    {html:'panel 2', width:150},
    {html:'panel 3', flex:2}
]
Run Code Online (Sandbox Code Playgroud)

pll*_*lee 5

有几个明显的优点column尚未涵盖.它比它轻得多hbox. Column只是让浏览器使用浮点布局其内容而不是设置left它的标记也比使用浮点数少hbox.在大多数情况下,它还可以更好地处理溢出.

例如,在列布局中与窗口上的hbox相比

var win = Ext.create('Ext.Window', {
    width: 700,
    height: 400,
    title: "Column",
    defaults: {
        height: 50,
        width: 300
    },
    layout: {
        type: 'column'
    },
    items: [{
        xtype: 'panel',
        title: 'Inner Panel One'
    },{
        xtype: 'panel',
        title: 'Inner Panel Two'
    },{
        xtype: 'panel',
        title: 'Inner Panel Three'
    }]
});

win.show()

var win2 = Ext.create('Ext.Window', {
    width: 700,
    height: 400,
    title: "Hbox",
    defaults: {
        height: 50,
        width: 300
    },
    layout: {
        type: 'hbox'
    },
    items: [{
        xtype: 'panel',
        title: 'Inner Panel One'
    },{
        xtype: 'panel',
        title: 'Inner Panel Two'
    },{
        xtype: 'panel',
        title: 'Inner Panel Three'
    }]
});

win2.show()
Run Code Online (Sandbox Code Playgroud)

600px调整大小

300px调整大小

概括起来想到的column作为auto漂浮的东西向左和布局hboxbox它增加了功能,例如布局stretchpack.他们都有自己的屈曲版本.