Master page con height 100%

venerdì 25 giugno 2010 - 11.08

volperubbia Profilo | Senior Member

Ciao a tutti,
avrei la necessità di creare una master page che abbia un height="100%",
in modo da visualizzare sempre un footer in basso.
Pensavo di usare un tag <TABLE>, e fin qui tutto bene.

Ho notato però che se nella master page è presente la seguente riga:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
di height="100%" non ne vuol sapere.

Esiste un modo, senza eliminare la riga DOCTYPE (cosa che fa funzionare height="100%", ma influenza negativamente
altri oggetti nelle pagine), per ottenere il layout con height al 100%?

Grazie per l'attenzione,
Davide

skraus Profilo | Junior Member

Io ho risolto utilizzando JQuery. Ti posto lo script.

$(document).ready(function(){
var h_cont = $('#content').height();
//if(h_cont<450) $('#content').height(450);
if(h_cont<610) $('#content').css("height",610);
else $('#content').height(h_cont);
});

Praticamente ho inserito nello script un'altezza "di riferimento" 610px ed un elemento div con id="content" che contiene tutta la pagina (nel caso puoi provare a darlo al body il medesimo id e vedere se funziona lo stesso), poi mediante lo script verifico se l'altezza dell'elemento con id=content è minore dell'altezza di riferimento, in tal caso imposto l'altezza del content a 610px, diversamente riassegno a content la sua altezza (potrei anche non fare nulla).

Il medesimo script lo puoi scrivere anche senza utilizzare JQuery, viene solo un pò + lungo.

Spero possa esserti utile, ciao
Sk

Gluck74 Profilo | Guru

io invece ho sempre risolto con CSS e struttura della pagina,
Anche se devi un pochetto smadonnare per testarlo su vari browser e varie versioni di browser perché sti ............ non fanno mai un santo lavoro fatto bene.
Quindi ti consiglio di controllare specialmente tra IE6, IE7 e IE8 che funzioni sempre.

La soluzione la trovi qui:
http://matthewjamestaylor.com/blog/keeping-footers-at-the-bottom-of-the-page


____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

volperubbia Profilo | Senior Member

Ciao, grazie mille Gluck74.
Quella del link proposto è un'ottima soluzione.
Un'altra alternativa può essere: nella master page dichiarare <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">,
anzichè <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">.
Funzionano entrambe le soluzioni, l'unica cosa è magari fare qualche prova sui diversi browser.

Davide

Gluck74 Profilo | Guru

si, le specifiche "Transitional" sono certamente più permissive delle "Strinct".....
però considera che un heigth=100% non è bello usarlo, perché appunto non tutti i browser ne tengono conto.

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5