0

我有这个代码

 var main_container = Ext.create('Ext.container.Container',
 {
     xtype: 'container',
     id: "id_container",
     anchor: '100%',
     layout:'column',
     items:[
        column_1,
        column_2,
        column_3
     ]
})

当我调整容器的大小时,在某些情况下最右边的列会消失。在某些情况下,当我再次调整大小时,最右边的列会再次出现。这只发生在 IE 中。

这可能是什么原因造成的?任何想法都会有所帮助。

这是最右边一列的结构

  var column_3 = Ext.create('Ext.container.Container',
  {
    columnWidth: .33,
    layout: 'anchor',
    id: 'column_3',
    items:[
        grid_1,
        grid_2
    ]
  })

有 3 列,我希望它们的宽度为 33%

按下 ext js 菜单按钮会打开主容器。并且主容器放置在 ext js 窗口中。

这是我的问题

 <div class="x-container x-column x-container-default" id="column_roles" role="presentation" style="width: 400px;">
       <DIV style="WIDTH: 413px; HEIGHT: 45%" id=grid_1 class="x-panel  x-grid x-property-grid x-panel-default x-with-col-lines x-panel-with-col-lines x-panel-default-with-col-lines x-masked-relative x-masked" role=presentation aria-labelledby=component-1234>...</div>

        <DIV style="WIDTH: 413px; HEIGHT: 45%" id=grid_2 class="x-panel  x-grid x-property-grid x-panel-default x-with-col-lines x-panel-with-col-lines x-panel-default-with-col-lines x-masked-relative x-masked" role=presentation aria-labelledby=component-1237> ... </div>
 </div>

您可以清楚地看到内部 div 比包含它们的 div 更宽。为什么 IE 生成不好?这在 Chrome 和 FF 中不会发生。

4

1 回答 1

1

如果这种情况只发生在 IE 中,您是否考虑过放弃 IE 作为浏览器?笑话不谈,如果它可以在除 IE 之外的任何浏览器中运行,则可能是一个错误,或者您必须为 IE 做一些特殊的事情。

例如,这对我有用:

Ext.onReady (function () {
    Ext.create ('Ext.window.Window', {
        renderTo: Ext.getBody () ,
        title: 'Win' ,
        width: 500 ,
        height: 100 ,
        layout: 'anchor' ,
        resizable: true ,
        items: [{
            xtype: 'container' ,
            anchor: '100%' ,
            layout: 'column' ,
            defaults: {
                layout: 'anchor'
            } ,
            items: [{
                xtype: 'container' ,
                columnWidth: .33 ,
                defaults: {
                    xtype: 'textfield' ,
                    anchor: '100%'
                } ,
                items: [{
                    fieldLabel: 'name'
                } , {
                    fieldLabel: 'surname'
                }]
            } , {
                xtype: 'container' ,
                columnWidth: .33 ,
                defaults: {
                    xtype: 'textfield' ,
                    anchor: '100%'
                } ,
                items: [{
                    fieldLabel: 'age'
                } , {
                    fieldLabel: 'place'
                }]
            } , {
                xtype: 'container' ,
                columnWidth: .33 ,
                defaults: {
                    xtype: 'textfield' ,
                    anchor: '100%'
                } ,
                items: [{
                    fieldLabel: 'nickname'
                } , {
                    fieldLabel: 'whatever'
                }]
            }]
        }]
    }).show();
});

当您调整窗口大小时,每列也会调整大小,并且没有一个会消失。

再见

威尔克

于 2012-05-16T10:53:44.177 回答