2011-07-04 42 views

Trả lời

4

Nội dung IFrame bạn có thể sử dụng một cách bố trí biên giới như phía trên hoặc không có bố cục, như sau:

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;' 
    })] 

});

+0

Cảm ơn Skym. một câu hỏi nữa: http://stackoverflow.com/questions/6594067/align-components-in-the-center-in-a-panel-ext-js – Ajan

0

Something như

grid: 
    region: center; 

panel: 
    layout: border; 
    css: "padding: 40px" 
3

Trong examples site có một ví dụ thực hiện điều này bạn có thể muốn xem xét.

layout:'ux.center', 
items: { 
    title: 'Centered Panel', 
    widthRatio: 0.75, 
    html: 'Some content' 
} 
+0

dường như điều này có tác dụng phụ http: //www.sencha. com/forum/showthread.php? 65064-SOLVED - !!! - ux.center-not-work –

1

Một cách khác, không phải là thanh lịch, là một cludge của VBox và HBox bố trí nhưng là tinh khiết ExtJS và không dựa vào 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], 

}); 
1

chỉ cần sử dụng:

this.center() 

nơi "này" là đối tượng bạn muốn đặt ở giữa (giả sử lưới).

Các vấn đề liên quan