2013-11-22 32 views
8

我想對齊一個項目的屏幕中間只是一個label,但它是水平對齊而不是垂直。在一箇中心垂直對齊項目 - Sencha面板

var panel = new Ext.Panel({ 
    layout:{ 
     type: 'vbox', 
     align: 'center' 
    }, 
    items:[ 
     { 
      xtype: 'label', 
      html: 'My Label' 
     } 
    ], 
    fullscreen: true, 
    flex: 1 
}); 

我已刪除flex,並設置height爲好,但它不工作。請給我一些線索?

回答

8

嘗試在佈局使用pack: center,像這樣:

var panel = new Ext.Panel({ 
    layout: { 
     type: 'hbox', 
     align: 'center', 
     pack: 'center' 
    }, 
    items:[ 
     { 
      xtype: 'label', 
      html: 'My Label' 
     } 
    ] 
}); 
+0

謝謝。它有效,但包的目的是什麼? –

+0

它控制容器的子項目如何打包在一起。像「中心」一樣,子容器在容器中間寬度處包裝在一起。 –

+1

這不適用於我的面板。我擁有一個標籤和一個按鈕 – alexandre1985

2

對於HBox中的佈局最好使用「對齊:中間」的配置,我想。 試試這個:

var panel = new Ext.Panel({ 
    layout: { 
     type: 'hbox', 
     align: 'middle' 
    }, 
    items:[{ 
     xtype:'label', 
     html:'My Label' 
    }] 
});