Originariamente inviato da carlomarangoni
Intanto ancora non c'è una soluzione css ma c'è una soluzione tabellare
Ho trovato un esempio css di due elementi affiancati orizzontalmente, uno dei due a larghezza fissa, l'altro elastico. Ebbene:
1) non sono riuscito a fare la stessa cosa in verticale
2) ci sono delle strane dipendenze tra gli attributi altezza (es se in un div fisso l'altezza a 200, l'altro deve essere a 232)
3) il codice dei css è ai limiti della comprensione, al contrario del codice con le tabelle che è leggero e fluido quanto il risultato prodotto (se mi trovate un esempio lo confrontiamo)
4) usando solo css per produrre elasticità, si usano attributi come left e padding in maniera anomala, distaccandosi dal loro scopo reale. Insomma per ottenere l'elasticità si fa un uso forzato e non appropriato degli attributi css, esattamente come per ottenere l'elasticità si fa un uso non appropriato delle tabelle (di fatto è la stessa cosa)
5) il risultato prodotto solo coi css (mi riferisco solo all'effetto elasticità) non è uguale per tutti i browser, non funziona per le vecchie versioni, e c'è anche un fastidioso effetto di sovrapposizione quando rendo la finestra molto piccola (cosa che non c'è nel tabellare)
Sia chiaro, non voglio essere sacrilego, onore ai css per tutto quello che riescono a fare e per i grandi vantaggi che offrono in termini di separazione tra rappresentazione e contenuto.
Ma secondo me per i dimensionamenti elastici e automatici ancora non ci siamo: probabilmente prima o poi si standardizzerà qualche nuovo attributo "dedicato" allo scopo, senza forzature e utilizzi impropri di altri attributi.
Dimostratemi che mi sbaglio! Intanto:
uno a zero per le tabelle uno a zero per le tabelle uno a zero per le tabelle uno a zero per le tabelle uno a zero per le tabelle uno a zero per le tabelle uno a zero per le tabelle uno a zero per le tabelle uno a zero per le tabelle uno a zero per le tabelle
p.s. ecco il codice pulito e conciso
Codice PHP:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>fluido</title>
<style>
html,body: {
width:100%; height:100%;
}
.container {
width:100%; height:100%;
background-color:#666666;
}
.header {
height:100px;
background-color:#FF8888;
}
.footer {
height:100px;
background-color:#88FF88;
}
.navigation {
width:200px;
background-color:#8888FF;
}
.mapBox {
}
.timelineBox {
height:150px;
background-color:#FFFF88;
}
</style>
</head>
<body topmargin="0" leftmargin="0">
<table class="container" height="100%">
<tr>
<td class="header" colspan="2"></td>
</tr>
<tr>
<td class="navigation" rowspan="2"></td>
<td class="mapBox"></td>
</tr>
<tr>
<td class="timelineBox"></td>
</tr>
<tr>
<td class="footer" colspan="2"></td>
</tr>
</table>
</body>
</html>