2012-07-03 29 views
11

Tôi đang chuyển từ adobe flex sang ext js 4 và tôi lưu ý rằng trong Extjs, các thành phần được đặt quá gần. Không có khoảng cách giữa lúc đó. Điều này có thể phải đối mặt với ví dụ này:Cách chèn khoảng cách giữa các thành phần trong bố cục Ext js 4

var win = Ext.create('Ext.window.Window', { 
    layout: 'hbox', 
    height: 500, 
    width: 400, 
    title: 'hbox',  
    items: [ 
     Ext.create('Ext.button.Button', 
     { 
     text: 'My button 1', 
     width: 150 
     }), 
     Ext.create('Ext.button.Button', 
     { 
     text: 'My button 2', 
     width: 150 
     }) 
    ] 
}); 

win.show(); 

Nút hai không gian cách nhau.

Cách đặt khoảng cách (khoảng cách hoặc bao giờ) từ các thành phần?

Cảm ơn.

Trả lời

17

Sử dụng cấu hình margin:

Ext.onReady(function() { 
    var win = Ext.create('Ext.window.Window', { 
     layout: 'hbox', 
     height: 500, 
     width: 400, 
     autoShow: true, 
     title: 'hbox', 
     defaultType: 'button', 
     items: [{ 
      text: 'My button 1', 
      width: 150, 
      margin: '10 20 30 40' 
     }, { 
      text: 'My button 2', 
      width: 150, 
      margin: '40 30 20 10' 
     }] 
    }); 
}); 
+2

Để giúp bạn tiết kiệm, hãy tìm kiếm các giá trị ký quỹ tương ứng với trên cùng, bên phải, dưới cùng, bên trái để "10 0 0 0" sẽ tạo ra lề 10 px ở trên cùng. –

+2

Nếu bạn muốn cùng một lề cho tất cả trẻ em, hãy thêm thuộc tính 'mặc định' vào giá trị mặc định của cha mẹ: {margin: '0 15 0 0'}'. Điều này có ý nghĩa hơn trong một bố trí cột ví dụ. –

2

giống như lề? Bạn có thể thêm điều đó theo kiểu thuộc tính. Xem cựu này http://jsfiddle.net/nscrob/5rn8C/5/

+2

Nó hoạt động. Và cũng hoạt động bằng cách sử dụng các giá trị mặc định: {margin: 2} trong các tham số cửa sổ. Cảm ơn. – Beetlejuice

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