Frage

Ich möchte ein Portal und seine EXTJS-Portlets in ein Layout mit fester Breite passen. Im Moment scheinen sie 100% der Breite zu nehmen, und die Elemente scheinen Inline -Stile angewendet zu haben, um die maximale Breite zu verleihen, und Tricks wie die Angabe eines Stils von "Breite: 50%" für die Artikel des Portals scheinen nichts zu tun.

Wie können Portlets dimensioniert und positioniert werden und gibt es eine Möglichkeit, übliche CSS -Positionierungsfähigkeiten anzuwenden? Das generierte HTML, wie es auf Inspektivelement erscheint, hat einen Inline -Stil, der eine Breite in Pixeln angibt, die alles übertrumpft, was ich in ein Stylesheet einfügt.

Ich möchte, dass ein Portal wie ein reguläres Blockelement mit einer relativen Positionierung innerhalb einer Seite angezeigt wird. Ist das möglich und wenn nicht, was sind meine nächstbesten Optionen?

War es hilfreich?

Lösung

Die Portlets werden durch ein Layout verwaltet, das die Größen festlegt, reagiert auf Ansichtsfenster usw. Sie müssten das vorhandene Layout ändern oder Ihr eigenes benutzerdefiniertes Layout erstellen das vorhandene Beispiel).

Andere Tipps

Es scheint, dass ich die Antwort habe. Überschreiben Sie die Ansichtsfensterdefinition für das Anpassen des Renders an ein Div -Tag. Hier ist mein Code:

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

wo ich.el die ID des Elementrenders ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top