我将 Ext JS 网格面板放在 iFrame 中。有谁知道我怎样才能把它放在 iFrame 的中心。
目前它看起来像这样 -
我希望它是这样的——
您的 IFrame 的内容可以使用如上的边框布局或不使用布局,如下所示:
var viewPort = new Ext.Viewport({
renderTo:'body',
width: 400,
height: 400,
items:[new Ext.Panel({
title: 'hi',
width: 200,
height: 200,
style: 'margin:0 auto;margin-top:100px;'
})]
});
在示例站点中,有一个您可能想查看的示例。
layout:'ux.center',
items: {
title: 'Centered Panel',
widthRatio: 0.75,
html: 'Some content'
}
另一种不那么优雅的方式是 VBox 和 HBox 布局的组合,但它是纯 ExtJS 并且不依赖于 UX:
Ext.create('Ext.container.Viewport',{
style: 'background-color: white;',
layout: {
type: 'vbox',
align : 'stretch',
pack : 'start',
},
items: [{
flex: 1,
border: false
},{
height: 200,
border: false,
layout: {
type: 'hbox',
pack: 'start',
align: 'stretch'
},
items: [{
flex: 1,
border: false
},{
html:'Centered Panel',
width: 400
},{
flex: 1,
border: false
}]
},{
flex: 1,
border: false
}]
//items: [login_panel],
});
只需使用:
this.center()
其中“this”是您要放在中心的对象(比如说网格)。
就像是
grid:
region: center;
panel:
layout: border;
css: "padding: 40px"