3

在我的界面中,我使用以下结构:

xtype: 'container',
layout: {
    type: 'hbox',
    align: 'stretch'
},
items: [
{
    xtype: 'fieldset',
    flex: 2,
    layout: {
        type: 'vbox',
        align: 'stretch'
    },
    margin: '0 5 0 0',
    padding: '10',
    items: [
        {
            xtype: 'container',
            flex: 1,
            layout: 'hbox',
            items: [
                {
                    xtype: 'combo',
                    flex: 1,
                    margin: '0 5 0 0',
                    name: 'deviceSelect',
                    ...
                },
                {
                    xtype: 'button',
                    ...
                },
                {
                    xtype: 'button',
                    ...
                }
            ]
        },
        {
            xtype: 'box',
            flex: 1,
            name: 'deviceMessage'
            ...
        }
    ]
},
{
    ...
},
{
    ...
}

组合“deviceSelect”应该占据容器的整个宽度,两个按钮的大小除外,并且它下面应该是文本。目前一切正常,除了一个例外 - 文本“固定”到其“deviceMessage”容器的顶部。如何将它放在容器的中间(垂直)?我尝试了样式:'vertical-align: middle;',但它不起作用(可能是因为 ext add top: 24px)。

我认为代码不是最优的。欢迎任何意见。

4

1 回答 1

3

像这样的东西:http: //jsfiddle.net/laurenzonneveld/YLrzC/

您需要的layout部分是:

xtype: 'container',
name: 'deviceMessage',
layout: {
    // Centers your inner panel with the HTML
    type: 'vbox',
    align: 'center',
    pack: 'center'
},
//...
items: {
    xtype: 'container',
    html: 'sadfasdf<br>safasdfasf'
}     
于 2013-11-05T14:08:48.367 回答