Domanda

Vorrei fare un portale ed i suoi ExtJS portlet inseriscono all'interno di un layout a larghezza fissa. Per ora sembrano prendere il 100% della larghezza, e gli elementi sembrano avere stili inline applicati per dare larghezza massima, e trucchi come specificare uno stile di "width: 50%" per gli elementi del portale non sembrano fare nulla.

Come portlet essere dimensionati e posizionati, e c'è un modo per applicare consueta abilità posizionamento CSS? Il codice HTML generato come appare sulla Inspect Element ha uno stile in linea specificando una larghezza in pixel, che sarà vincente qualunque cosa ho messo in un foglio di stile.

Vorrei avere un portale visualizzata come un elemento di blocco regolare con posizionamento relativo all'interno di una pagina. È quello possibile, e se no, quali sono le mie migliori opzioni prossimi?

È stato utile?

Soluzione

I portlet sono gestiti da un layout, che è ciò che definisce le dimensioni, risponde ridimensiona viewport, ecc Si dovrà modificare il layout esistente o creare il proprio layout personalizzato per fare questo (oppure costruire il proprio portale che non è in base al largo dell'esempio esistente).

Altri suggerimenti

Sembra che io ho la risposta. Sovrascrivere la definizione viewport per personalizzare il rendering di un tag div. Ecco il mio codice:

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

dove me.el è l'ID di elemento di rendering.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top