0

ポータルとそのExtJSポートレットを固定幅のレイアウトに収めたいと思います。現在、それらは幅の100%を占めているようで、要素には最大幅を与えるためにインラインスタイルが適用されているように見え、ポータルのアイテムに「幅:50%」のスタイルを指定するなどのトリックは何もしないようです。

ポートレットのサイズと配置はどのようにできますか?また、通常のCSS配置スキルを適用する方法はありますか?Inspect Elementに表示される生成されたHTMLには、ピクセル単位で幅を指定するインラインスタイルがあり、スタイルシートに入力したものよりも優先されます。

ポータルを通常のブロック要素のように表示し、ページ内に相対的な位置を設定したいと思います。それは可能ですか、そうでない場合、私の次善の選択肢は何ですか?

4

2 に答える 2

1

ポルトレットは、サイズを設定したり、ビューポートのサイズ変更に応答したりするレイアウトによって管理されます。これを行うには、既存のレイアウトを変更するか、独自のカスタムレイアウトを作成する必要があります(または、既存の例)。

于 2011-04-27T20:29:47.690 に答える
1

答えがあるようです。ビューポート定義を上書きして、レンダリングをdivタグにカスタマイズします。これが私のコードです:

Ext.override(Ext.container.Viewport, {
initComponent : function() {
    var me = this,
        html = Ext.fly(document.body.parentNode),
        el;
    me.callParent(arguments);
    html.addCls(Ext.baseCSSPrefix + 'viewport');
    me.el = el = 'dashboard';
    el.setHeight = Ext.emptyFn;
    el.setWidth = Ext.emptyFn;
    el.setSize = Ext.emptyFn;
    me.allowDomMove = false;
    Ext.EventManager.onWindowResize(me.fireResize, me);
    me.renderTo = me.el;
    me.height = Ext.Element.getViewportHeight() - 70;
}});

ここで、me.elは要素renderのIDです。

于 2012-01-12T00:40:39.843 に答える