Ext.TabPanelのレイアウトとIE6
Ext JSで、TabPanelの幅をコンテナのサイズに合わせて自動的に伸縮させたい場合、defaultsプロパティでautoWidthをtrueにすれば良い(TabPanel自身のautoWidthではないので注意が必要)。
new Ext.TabPanel({ renderTo: 'tab-panel', activeTab: 0, defaults: { autoWidth: true, autoHeight: true }, items: [ { contentEl: 'tab1', title: 'Foo' }, { contentEl: 'tab2', title: 'Bar' } ] });
問題になるのは、このTabPanelを<table>の中に入れたとき。IE6で表示すると、パネル幅がウィンドウ幅を超えて極端に長くなってしまう(IE6以外のブラウザでは正常に表示できる)。
色々と調べたところ、Extの以下のCSSが原因と判明。
ul.x-tab-strip{display:block;width:5000px;zoom:1;}
以下のようにwidth指定を取り除くと、IE6でもうまく表示されるようになった。
ul.x-tab-strip{display:block;zoom:1;}