19 messaggi dal 26 maggio 2006
Ho il seguente problema.

voglio creare una tabella che sia alta quanto il browser consente.

questo lo faccio con la seguente scrittura

<html>
<body>
<form id="Form1" runat="server" style="height:100%;">
<table style="height:100%">
<tr><td>Hello world</td></tr>
</table>
</form>
</body>
</html>

ma da quando utilizzo il nuovo doctype
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

questo metodo di scrittura non funziona più e per farlo funzionare devo usare quello di HTML 4.0

La domanda è quindi come faccio ad ottenere una bella tebella alta il 100% del body con la nuova dichiarazione?
Il problema sta nel fatto che anche i contenitori "padri" devono avere l'attbributo height impostato.

<html style="height:100%">
...
<body style="height:100%">
...

Fabrizio Canevali
19 messaggi dal 26 maggio 2006
fabrica ha scritto:
Il problema sta nel fatto che anche i contenitori "padri" devono avere l'attbributo height impostato.

<html style="height:100%">
...
<body style="height:100%">
...



Provato... ma nulla da fare :(
637 messaggi dal 12 agosto 2005
Provato la via JavaScript? Puoi ricavare window.clientHeight ed impostarla manualmente all'avvio alla tua tabella.
function setTableHeight()
{
var t = document.getElementById('idTabella');

if(var==null) return;

t.style.height=window.clientHeight + "px";
}


Occhio, è un'idea e non l'ho testato.

Hope this helps.
Ciao, beh in effetti ho detto che i contenitori padri devono avere gli attributi height impostati a 100%.

Non puoi impostare direttamente lo stile al tag XHTML:

<html xmlns="http://www.w3.org/1999/xhtml">

quindi lo devi necessariamente fare in un File css

<head runat="server">
<title>Pagina senza titolo</title>
<link href="MioStile.css" rel="stylesheet" type="text/css" />
</head>

dove MioStile.css sarà:

html
{
height:100%;
}


quindi il codice HTML completo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Pagina senza titolo</title>
<link href="MioStile.css" rel="stylesheet" type="text/css" />
</head>
<body style="margin: 0px; height: 100%;">
<form id="form1" runat="server">
<table style="height: 100%; width: 100%; border: solid 1px red;">
<tr>
<td>
contenuto
</td>
</tr>
</table>
</form>
</body>
</html>

P.S dimentica javascript per queste cose, crea piu casini che altro...e ultimo ma non ultimo è preferibile utilizzare div
Modificato da fabrica il 12 febbraio 2007 20.04 -

Fabrizio Canevali
19 messaggi dal 26 maggio 2006
fabrica ha scritto:
Ciao, beh in effetti ho detto che i contenitori padri devono avere gli attributi height impostati a 100%.

Non puoi impostare direttamente lo stile al tag XHTML:

<html xmlns="http://www.w3.org/1999/xhtml">

quindi lo devi necessariamente fare in un File css

<head runat="server">
<title>Pagina senza titolo</title>
<link href="MioStile.css" rel="stylesheet" type="text/css" />
</head>

dove MioStile.css sarà:

html
{
height:100%;
}


quindi il codice HTML completo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Pagina senza titolo</title>
<link href="MioStile.css" rel="stylesheet" type="text/css" />
</head>
<body style="margin: 0px; height: 100%;">
<form id="form1" runat="server">
<table style="height: 100%; width: 100%; border: solid 1px red;">
<tr>
<td>
contenuto
</td>
</tr>
</table>
</form>
</body>
</html>

P.S dimentica javascript per queste cose, crea piu casini che altro...e ultimo ma non ultimo è preferibile utilizzare div
Modificato da fabrica il 12 febbraio 2007 20.04 -


OK!!! funziona!!! grazie
ma adesso ho un altro problema di conseguenza

se la mia tabella ha delle righe di cui non conosco la dimensione e voglio che l'ultima si adatti completamente al residuo come faccio?

prima facevo così

<table style="height: 100%; width: 100%; border: solid 1px red;">
<tr><td>contenuto1</td></tr>
<tr><td>contenuto2<BR>seconda riga</td></tr>
<tr><td>contenuto3</td></tr>
<tr><td style="height:100%">&nbsp;</td></tr>
</table>

ma se adesso faccio così l'ultima riga diventa alta quanto il body mostrandomi la scrollbar verticale. Il problema è che non posso distribuire le percentuali tra le righe perchè non so a priori le loro dimensioni.
Modificato da screamer il 13 febbraio 2007 10.03 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.