Ciao a tutti...
ho creato una pagina asp tramite dreamweaver cs3, con un div intestazione, una barra laterale sinistra, una barra laterale destra, il contenuto, e il footer, la classica struttura che ti propone nel menu...
Il mio problema è che nel div (colonna di sinistra) ho tolto nel css tutti i padding e margin, e se in questa colonna inserisco un immagine, questa con firefox viene visualizzata sennza nessun spazio superiore, mentre con Explorer visualizzo uno spazio e poi l'immagine...
Io vorrei che si vedesse l'immagine senza lo spazio superiore, percio con firefox si vede giusto, mentre con explorer no![]()
vi quoto il codice html con lo style intrgrato nella pagina
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
<style type="text/css">
<!--
body {
font: 100% Verdana, Arial, Helvetica, sans-serif;
background: #666666;
margin: 0; /* è buona norma impostare a zero i valori margin e padding dell'elemento body per tenere conto delle diverse impostazioni predefinite dei browser*/
padding: 0;
text-align: center; /* centra il contenitore nei browser IE 5*. Il testo viene quindi impostato con l'allineamento predefinito a sinistra nel selettore #container */
color: #000000;
}
.thrColLiqHdr #container {
width: 80%; /* crea un contenitore pari all'80% della larghezza del browser */
background: #FFFFFF;
margin: 0 auto; /* i margini auto (insieme a una larghezza) centrano la pagina */
border: 1px solid #000000;
text-align: left; /* sostituisce l'impostazione text-align: center nell'elemento body. */
}
.thrColLiqHdr #header {
background:#FFFFFF;
padding: 0 10px; /* questo padding corrisponde all'allineamento a sinistra degli elementi nei div sottostanti. Se in #header viene utilizzata un'immagine anziché un testo, può essere utile rimuovere il padding. */
}
.thrColLiqHdr #header h1 {
margin: 0; /* azzerando il valore margin dell'ultimo elemento del div #header si evita la compressione del margine, con la creazione di uno spazio inspiegabile tra i div. Se il div è circondato da un bordo, questo accorgimento non è necessario perché anche il bordo impedisce la compressione del margine */
padding: 10px 0; /* l'uso del valore padding al posto di margin consente di distanziare l'elemento dai bordi del div */
}
/* Suggerimenti per le barre laterali:
1. Poiché si lavora in percentuali, è meglio non applicare un padding laterale alle barre laterali, poiché, nei browser conformi agli standard, verrebbe aggiunto alla larghezza producendo una larghezza effettiva non prevedibile.
2. Per creare spazio tra il lato del div e gli elementi al suo interno, è possibile applicare un margine sinistro e destro a tali elementi, come descritto nella regola ".thrColLiqHdr #sidebar1 p".
3. Poiché Explorer calcola le larghezze dopo che è stato eseguito il rendering dell'elemento superiore, talvolta si possono verificare bug imprevisti nelle colonne basate su percentuali. Se si ha bisogno di risultati più prevedeibili, può essere opportuno passare a colonne con dimensioni in pixel.
*/
.thrColLiqHdr #sidebar1 {
float: left; /* questo elemento deve precedere nell'ordine di origine qualunque elemento accanto al quale deve essere posizionato */
width: 22%; /* poiché questo elemento è mobile, occorre specificare una larghezza */
background: #EBEBEB; /* il colore di sfondo verrà visualizzato per tutta la lunghezza del contenuto all'interno della colonna, ma non oltre */
padding: 0px 0; /* un padding superiore e inferiore creano uno spazio visivo all'interno di questo div */
}
.thrColLiqHdr #sidebar2 {
float: right; /* questo elemento deve precedere nell'ordine di origine qualunque elemento accanto al quale deve essere posizionato */
width: 23%; /* poiché questo elemento è mobile, occorre specificare una larghezza */
background: #EBEBEB; /* il colore di sfondo verrà visualizzato per tutta la lunghezza del contenuto all'interno della colonna, ma non oltre */
padding: 15px 0; /* un padding superiore e inferiore creano uno spazio visivo all'interno di questo div */
}
.thrColLiqHdr #sidebar1 p, .thrColLiqHdr #sidebar1 h3, .thrColLiqHdr #sidebar2 p, .thrColLiqHdr #sidebar2 h3 {
margin-left: 10px; /* è necessario applicare un margine sinistro e destro a ogni elemento che verrà inserito nelle colonne laterali */
margin-right: 10px;
}
/* Suggerimenti per mainContent:
1. Lo spazio tra mainContent e le barre laterali viene creato con i margini sinistro e destro del div mainContent.
2. Per evitare il problema del "float drop" a una risoluzione minima supportata di 800 x 600, gli elementi all'interno del div mainContent devono essere di 300 px o più piccoli (comprese le immagini).
3. Nel commento condizionale di Internet Explorer riportato di seguito, la proprietà zoom viene utilizzata per assegnare "hasLayout" a mainContent, al fine di evitare vari bug specifici di IE.
*/
.thrColLiqHdr #mainContent {
margin: 0 24% 0 23.5%; /* i margini destro e sinistro di questo elemento div creano le due colonne esterne sui lati della pagina. Indipendentemente dalla quantità di contenuto presente nei div delle barre laterali, lo spazio della colonna rimane inalterato. È possibile rimuovere questo margine sinistro se si desidera che il testo del div #mainContent riempia lo spazio delle barre laterali quando il contenuto di ciascuna di esse finisce. */
}
.thrColLiqHdr #footer {
padding: 0 10px; /* questo padding corrisponde all'allineamento a sinistra degli elementi nei div sovrastanti. */
background:#DDDDDD;
}
.thrColLiqHdr #footer p {
margin: 0; /* azzerando il valore margin del primo elemento del footer si evita il rischio di compressione del margine, con la creazione di uno spazio tra i div */
padding: 10px 0; /* il padding di questo elemento crea uno spazio, così come avverrebbe specificando un valore margin, senza il problema della compressione del margine */
}
/* Classi varie riutilizzabili */
.fltrt { /* questa classe può essere utilizzata per rendere mobile un elemento a destra nella pagina. L'elemento reso mobile deve precedere l'elemento al quale deve essere affiancato sulla pagina. */
float: right;
margin-left: 8px;
}
.fltlft { /* questa classe può essere utilizzata per rendere mobile un elemento a sinistra nella pagina. L'elemento reso mobile deve precedere l'elemento al quale deve essere affiancato sulla pagina. */
float: left;
margin-right: 8px;
}
.clearfloat { /* questa classe deve essere inserita in un elemento div o break e deve essere l'elemento finale prima della chiusura di un contenitore che deve contenere per intero i propri elementi mobili di livello inferiore */
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
-->
</style><!--[if IE]>
<style type="text/css">
/* inserire in questo commento condizionale le correzioni css per tutte le versioni di IE */
.thrColLiqHdr #sidebar2, .thrColLiqHdr #sidebar1 { padding-top: 30px; }
.thrColLiqHdr #mainContent { zoom: 1; padding-top: 15px; }
/* la proprietà zoom proprietaria riportata sopra fornisce a IE l'elemento hasLayout necessario per evitare vari bug */
</style>
<![endif]--></head>
<body class="thrColLiqHdr">
<div id="container">
<div id="header">
<h1>Intestazione</h1>
</div>
<div id="sidebar1">
[img]images/tasto_cat.bmp[/img]
<h3>Sidebar1 </h3>
Il colore di sfondo di questo div viene visualizzato solo per tutta la lunghezza del contenuto. Se invece si desidera visualizzare una linea di divisione, inserire un bordo sul lato sinistro del div #mainContent se esso conterrà sempre una quantità maggiore di contenuto rispetto al div #sidebar1. </p>
Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque eget, cursus et, fermentum ut, sapien. </p>
</div>
<div id="sidebar2">
<h3>Sidebar2 </h3>
Il colore di sfondo di questo div viene visualizzato solo per tutta la lunghezza del contenuto. Se invece si desidera visualizzare una linea di divisione, inserire un bordo sul lato destro del div #mainContent se #mainContent conterrà sempre una quantità maggiore di contenuto rispetto al div #sidebar2. </p>
Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque eget, cursus et, fermentum ut, sapien. </p>
</div>
<div id="mainContent">
<h1> Contenuto principale</h1>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam, justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam ante ac quam. Maecenas urna purus, fermentum id, molestie in, commodo porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis ligula. Phasellus tristique purus a augue condimentum adipiscing. Aenean sagittis. Etiam leo pede, rhoncus venenatis, tristique in, vulputate at, odio. Donec et ipsum et sapien vehicula nonummy. Suspendisse potenti. </p>
<h2>Titolo di livello H2 </h2>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam, justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam ante ac quam. Maecenas urna purus, fermentum id, molestie in, commodo porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis ligula. Phasellus tristique purus a augue condimentum adipiscing. Aenean sagittis. Etiam leo pede, rhoncus venenatis, tristique in, vulputate at, odio.</p>
</div>
<br class="clearfloat" />
<div id="footer">
Piè di pagina
</p>
</div>
</div>
</body>
</html>
vi allego le due immagini della differenza tra firefox e explorer...