Altezza Variabile Oggetto Html
Autore: Luca G.
Visite 3437,
Followers 4,
Condiviso 38
Salve ho necessità di inserire un oggetto html ad altezza variabile come posso fare?? Nel mio sito ho un oggetto html con del codice php che utilizzo per la gestione delle news, ovviamente non posso decidere quanto sarà lunga ogni singola news, quindi avrei necessità di poter impostare l'altezza oggetto variabile in base al codice generato dal php.
Postato il
Benvenuto nel mio mondo :( Se trovassero un modo per sistemare questa cosa il pacchetto di Website acquisterebbe una enorme versatilità...
answers.websitex5.com/post/4759
Ciao Luca e Claudio,
In realtà la possibilità c'è anche se è ancora "sperimentale".
Basta fare quanto segue:
1) Nell'oggetto HTML in cui viene visualizzato l'output dinamico del codice PHP è necessario impostare l'altezza a 0 e dissattivare la visualizzazione delle barre di scorrimento.
2) Al passo 2, nelle proprietà della pagina in questione bisogna andare nel tab "Esperto" e nella sezione "Codice personalizzato per la sezione HEAD", prima del tag "</head>" bisogna inserire il seguente script:
<script>x5engine.settings.imGrid.enabled = true;</script>
Consiglio di incollare il codice javascript solo nell'header delle pagine in cui ce n'è davvero bisogno perchè, siccome non lo abbiamo ancora testato a fondo, potrebbe causare dei problemi nelle altre pagine.
Fatemi sapere se vi funziona bene.
Grazie, ho verificato ma con me non funziona (si tratta di una pagina protetta: un guestbook... purtroppo facendo come hai consigliato il contenuto appare di dimensioni fisse di circa 300px di altezza.
Tengo a precisare però che carico mediante Iframe una pagina html... a sua volta, probabilmente, gestita dinamicamente dal motore del guestbook stesso... :)
Temo che non possa funzionare se usi un iframe. In questo caso ti conviene togliere l'iframe e visualizzare l'output direttamente dentro l'oggetto HTML.
E come fare da un punto di vista pratico? Come metto "direttamente" dentro l'oggetto html un output esterno (output in formato html)?
Uso questo servizio per il guestbook: http://www.smartgb.com/it/
Se si usa un servizio esterno allora, anche usando uno script, non è possibile fare in modo che l'oggetto si modifichi automaticamente in altezza. In questo caso sei obbligato a utilizzare un iframe, il quale non può ridimensionarsi automaticamente in base al proprio contenuto.
Io credevo che stessi utilizzando il nostro guestbook, che infatti visualizza l'output direttamente nella pagina, senza unsare un iframe.
Autore
Ciao "Claudi"
scusate la mia assenza dopo l'apertura della domanda ma son stato un po' incasinato, ma veniamo a noi:
@ Claudio V. :
Grazie per la tua risposta immediata, avevo già visto il link della discussione che mi hai postato dopo aver navigato in lungo ed in largo su Answers e Forum, ma non era compatibile con Evo 9.
@ Claudio N.
prima della tua risposta avevo già provato ad impostare l'altezza a 0 e togliere le barre di scorrimento, ma mi restava un evidente spazio bianco alla fine dell'oggetto HTML, ho quindi, come da te suggerito, insertito lo script nell head ma il risultato era lo stesso. Mi sono quindi andato a studiare un po' il codice generato da Evo 9 e ho scoperto due comportamenti diversi:
1- inserito in un'unica cella, larga tutta la pagina, solo l'oggetto HTML con codice php all'interno che genera altezza variabile, impostato l'altezza cella a 0 senza barre di scorrimento e senza script (che a mio avviso non serve visto che il risultato è uguale) mi ritrovo che effettivamente l'oggetto html varia la sua altezza in base al contenuto, ma tra la fine dell'oggetto ed il piè di pagina si crea il sugeunte div:
<div id="imFooPad" style="height: 370px; float: left;"> </div>
che crea uno spazio vuoto, dell'altezza riportata (in questo caso 370px), prima del piè di pagina che non serve a nulla.
vedi esempio qui:
http://www.origalilei.it/a.php
2- se invece inserisco l'oggetto html a sinistra e delle celle con delle immagini a destra tutte in verticale, rendendo l'oggetto html lungo quanto il numero di celle contenenti le immagini (ad esempio se ho sei immagini l'oggetto html sarà lungo 6 righe) impostando sempre l'altezza dell'oggetto html a 0 senza barre e senza script, avrò lo stesso risultato estetico di prima cioà oggetto htmal che varia effettivamente in base al contenuto generato dal php ma anche questa volta dello spazio bianco prima del piè di pagina, questa volta però, a differenza di prima lo spazio bianco non è più dovuti al div "imFooPad", cje in questo caso non viene creato, ma bensì al padding-bottom generato da Evo9 all'interno del codice css del div:
<div id="imCellStyle_7">
( 7 è il numero della cella che ovviamente varia in base all'architettura della propria pagina)
questo è il codice CSS generato:
#imCellStyle_7 { position: relative; width: 730px; min-height: 0px; padding: 0px0px618px0px; text-align: left; border-top: 0; border-bottom: 0; border-left: 0; border-right: 0; z-index: 3;}
vedi esempio qui:
http://www.origalilei.it/
Conclusioni:
a differenza di Claudio V. io sono riuscito ad ottenere il mio risultato impostando l'altezza a 0, senza le barre di scorrimento, senza usare lo script fornito da Claudio N. (consiglio, visto che come detto da te è in fase sperimentale, di rivedere lo script e se effettivemente serve) e forzando, nella senzione "esperto - Codice CSS" dell'ogetto Html, il volore del padding-bottom a 0:
#imCellStyle_7 { padding-bottom: 0px;}
Forse sono stato un po' troppo lungo nella mia spiegazione ma volevo essere chiaro (spero di eesserci riuscito) così che magari i tecnici Incomedia riescano a risolvere queste piccole lacune, e magari di essere da spunto per altri come me (vedi Claudio V. che si vengano a trovare in situazioni simili).
Ciao a tutti.
P.S. aspetto i vostri commenti/consigli e le vostre impressioni.
Invece io ho provato con una singola cella e quanto suddetto non ha funzionato in quanto crea la seguente riga
<div id="imFooPad" style="height: 466px; float: left;"> </div>
Inoltre l'oggetto html si imposta con allineamento centrato.
Ho provato a impostare un'istruzione in css nella sezione esperto in modo da modificare l'altezza di "imFooPad" ma nulla.
Considerato che la pagina che si crea è in php, e che una volta creata si potra modificare solo tramite pannello utente di pulse, ho proceduto a modificare manualmente il codice impostando l'altezza di "imFooPad" a 20px, e impostanto l'oggetto html con allineamento giustificato.
Ho testato tutto ok, anche andando a modificare con pulse il contenuto, e ripeto tutto ok.